android 高仿ios水滴,iOS仿芝麻信用水滴效果

开篇:

最近接到客户需要开发(就按某付宝那个页面给我做一个)的新需求,大体就是类似芝麻信用的水滴效果(图1)用来展示用户的信用积分。苦于没有思路,找到的iOS实现的文章基本都是类似图2仪表盘的实现思路,故在最后实现效果后记录一下。

4c3bda90e955

图1:要实现的效果

4c3bda90e955

图2

1、实现思路

水滴的轨迹其实是一个圆弧,所以需要用到圆弧公式来算出每一个水滴的位置,然后根据水滴所在的位置做对应的偏转。

2、直接上代码

```

//首先算出圆心X,Y的位置

CGFloatcenterX =KScreenW/2;

CGFloatcenterY =210;

//画出一整个圆,隐藏掉不需要的水滴,从第10个点开始,我们需要显示29个点

intstart =10;

intshowSpot =29;

//每个水滴之间的偏转角度

CGFloatradio = -15;

for(inti = start ; i < (start + showSpot); i ++) {

CGFloatradian = (M_PI/180) *7.5*i;

CGFloatx = centerX +sin(radian) *84;

CGFloaty = centerY +cos(radian) *84;

UIImageView*imgView = [[UIImageViewalloc]init];

imgView.frame=CGRectMake(x, y,7,6);

UIImage*image = [UIImageimageNamed:@"icon_point_blue"];

NSIntegerimgInt =29- [pointStrintegerValue];

for(intj =10; j < (imgInt +10); j ++) {

if(i == j) {

image = [UIImageimageNamed:@"icon_point_white"];

}

}

UIImage*rotatedImg = [imagerotateImageWithDegree:radio];

imgView.image= rotatedImg;

[selfaddSubview:imgView];

radio +=7.5;

}

```

3、最终效果

4c3bda90e955

图三:最终效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值