我将如何实现像Weather Channel iOS App中的加载动画?
具体来说,我有一个圆形UIButton
,当用户点击它时我想要一个旋转的圆圈,并且正在加载一些东西。
最好是使用内置的 iOS 框架和尽可能少的 3rd 方库来实现这一点。
这是天气频道应用程序的外观(无法获得 gif,因此要查看实际效果,请从 App Store 下载应用程序):
它不一定必须看起来完全像这样,纯色将是一个好的开始。但是概念应该是一样的。我不相信它应该很难做,但遗憾的是我不知道从哪里开始。
感谢大家的帮助!
编辑1: 我应该指出纯色就足够了,它不需要渐变或发光。
我一直在研究一些可能朝着正确方向的简单代码。请随意使用它作为起点:
- (void)drawRect:(CGRect)rect {
// Make the button round
self.layer.cornerRadius = self.frame.size.width / 2.0;
self.clipsToBounds = YES;
// Create the arc
CAShapeLayer *circle = [CAShapeLayer layer];
circle.path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(self.frame.size.width / 2, self.frame.size.height / 2) radius:(self.frame.size.width / 2) startAngle:M_PI_2 endAngle:M_PI clockwise:NO].CGPath;
circle.fillColor = [UIColor clearColor].CGColor;
circle.strokeColor = [UIColor redColor].CGColor;
circle.lineWidth = 10;
// Create the animation
// Add arc to button
[self.layer addSublayer:circle];
}