iOS 动画绘制圆形

简介: iOS 动画绘制圆形

``` @interface ViewController () {

CAShapeLayer *shapeLayer;

NSTimer *timer;

}


@end


@implementation ViewController


  • (void)viewDidLoad {

[super viewDidLoad];


//第一步,通过UIBezierPath设置圆形的矢量路径

UIBezierPath *circle = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, 200, 200)];


//第二步,用CAShapeLayer沿着第一步的路径画一个完整的环(颜色灰色,起始点0,终结点1)

CAShapeLayer *bgLayer = [CAShapeLayer layer];

bgLayer.frame = CGRectMake(0, 0, 200, 200);//设置Frame

bgLayer.position = self.view.center;//居中显示

bgLayer.fillColor = [UIColor clearColor].CGColor;//填充颜色=透明色

bgLayer.lineWidth = 2.f;//线条大小

bgLayer.strokeColor = [UIColor grayColor].CGColor;//线条颜色

bgLayer.strokeStart = 0.f;//路径开始位置

bgLayer.strokeEnd = 1.f;//路径结束位置

bgLayer.path = circle.CGPath;//设置bgLayer的绘制路径为circle的路径

[self.view.layer addSublayer:bgLayer];//添加到屏幕上


//第三步,用CAShapeLayer沿着第一步的路径画一个红色的环形进度条,但是起始点=终结点=0,所以开始不可见

shapeLayer = [CAShapeLayer layer];

shapeLayer.frame = CGRectMake(0, 0, 200, 200);

shapeLayer.position = self.view.center;

shapeLayer.fillColor = [UIColor clearColor].CGColor;

shapeLayer.lineWidth = 2.f;

shapeLayer.strokeColor = [UIColor redColor].CGColor;

shapeLayer.strokeStart = 0;

shapeLayer.strokeEnd = 0;

shapeLayer.path = circle.CGPath;

[self.view.layer addSublayer:shapeLayer];


//第四步,用一个定时器进行测试,每一秒,进度加10%

timer = [NSTimer scheduledTimerWithTimeInterval:1.f target:self selector:@selector(animate) userInfo:nil repeats:YES];

}


  • (void)animate {

shapeLayer.strokeEnd += 0.1;

}

```


相关文章
|
编译器 iOS开发 异构计算
读iOS核心动画笔记
读iOS核心动画笔记
55 0
|
13天前
|
Swift iOS开发 UED
如何使用Swift和UIKit在iOS应用中实现自定义按钮动画
本文通过一个具体案例,介绍如何使用Swift和UIKit在iOS应用中实现自定义按钮动画。当用户点击按钮时,按钮将从圆形变为椭圆形,颜色从蓝色渐变到绿色;释放按钮时,动画以相反方式恢复。通过UIView的动画方法和弹簧动画效果,实现平滑自然的过渡。
28 1
|
23天前
|
Swift iOS开发 UED
如何使用Swift和UIKit在iOS应用中实现自定义按钮动画
【10月更文挑战第18天】本文通过一个具体案例,介绍如何使用Swift和UIKit在iOS应用中实现自定义按钮动画。当用户按下按钮时,按钮将从圆形变为椭圆形并从蓝色渐变为绿色;释放按钮时,动画恢复原状。通过UIView的动画方法和弹簧动画效果,实现平滑自然的动画过渡。
43 5
|
2月前
|
Swift iOS开发 UED
揭秘一款iOS应用中令人惊叹的自定义动画效果,带你领略编程艺术的魅力所在!
【9月更文挑战第5天】本文通过具体案例介绍如何在iOS应用中使用Swift与UIKit实现自定义按钮动画,当用户点击按钮时,按钮将从圆形变为椭圆形并从蓝色渐变到绿色,释放后恢复原状。文中详细展示了代码实现过程及动画平滑过渡的技巧,帮助读者提升应用的视觉体验与特色。
61 11
|
3月前
|
Swift iOS开发 UED
【绝妙创意】颠覆你的视觉体验!揭秘一款iOS应用中令人惊叹的自定义动画效果,带你领略编程艺术的魅力所在!
【8月更文挑战第13天】本文通过一个具体案例,介绍如何使用Swift与UIKit在iOS应用中创建独特的按钮动画效果。当按钮被按下时,其形状从圆形变化为椭圆形,颜色则从蓝色渐变为绿色;释放后,动画反向恢复原状。利用UIView动画方法及弹簧动画效果,实现了平滑自然的过渡。通过调整参数,开发者可以进一步优化动画体验,增强应用的互动性和视觉吸引力。
51 7
|
iOS开发
iOS 常用阅读软件打开书籍的转场动画
iOS 常用阅读软件打开书籍的转场动画
93 0
|
6月前
|
iOS开发
iOS设备功能和框架: 如何使用 Core Animation 创建动画效果?
iOS设备功能和框架: 如何使用 Core Animation 创建动画效果?
136 0
|
API iOS开发
iOS 自定义转场动画 UIViewControllerTransitioning
iOS 自定义转场动画 UIViewControllerTransitioning
93 0
|
iOS开发
iOS - 个人中心果冻弹性下拉动画
iOS - 个人中心果冻弹性下拉动画
253 0
iOS - 个人中心果冻弹性下拉动画
|
API iOS开发
iOS 核心动画
iOS 核心动画
86 0