码迷,mamicode.com
首页 > 其他好文 > 详细

圆圈loader的动画

时间:2015-01-07 11:07:50      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:ios   动画   

圆圈loader的动画

by 伍雪颖

技术分享


- (void)awakeFromNib {
    [self setup];
    [
self startAnimation];
}

- (
void)setup {
   
self.backgroundColor = [UIColor clearColor];
   
self.backgroundLayer = [CAShapeLayer layer];
   
_backgroundLayer.strokeColor = [UIColor colorWithRed:0.129 green:0.455 blue:0.627 alpha:1.0].CGColor;
   
_backgroundLayer.fillColor = self.backgroundColor.CGColor;
   
_backgroundLayer.lineCap = kCALineCapRound;
   
_backgroundLayer.lineWidth = 1;
    [
self.layer addSublayer:_backgroundLayer];
}

- (
void)startAnimation {
   
CGFloat startAngle = - ((float)M_PI / 2);
   
CGFloat endAngle = (1.8f * (float)M_PI) + startAngle;
   
   
UIBezierPath *processBackgroundPath = [UIBezierPath bezierPath];
    processBackgroundPath.
lineWidth = 1;
    [processBackgroundPath
addArcWithCenter:CGPointMake(self.bounds.size.width/2, self.bounds.size.height/2)
                                    
radius:(self.bounds.size.width - 1)/2
                                
startAngle:startAngle
                                  
endAngle:endAngle
                                 
clockwise:YES];
   
_backgroundLayer.path = processBackgroundPath.CGPath;
   
   
CABasicAnimation *rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
    rotationAnimation.
toValue = [NSNumber numberWithFloat:M_PI * 2.0];
    rotationAnimation.
duration = 1;
    rotationAnimation.
cumulative = YES;
    rotationAnimation.
repeatCount = HUGE_VALF;
    [
_backgroundLayer addAnimation:rotationAnimation forKey:@"rotationAnimation"];
}

- (
void)drawRect:(CGRect)rect {
   
_backgroundLayer.frame = self.bounds;
}

圆圈loader的动画

标签:ios   动画   

原文地址:http://blog.csdn.net/rainlesvio/article/details/42487019

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!