//.h文件
#import <UIKit/UIKit.h>
@interface animationView : UIView
@property (nonatomic,strong) CAShapeLayer *backgroundLayer;
@end
// .m文件
// animationView.m
// 加载圈圈
//
// Created by 万里 on 15/12/10.
// Copyright © 2015年 wanli. All rights reserved.
//
#import "animationView.h"
@implementation animationView
- (id)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if (self) {
_backgroundLayer = [CAShapeLayer layer];
_backgroundLayer.frame = self.bounds;
_backgroundLayer.fillColor = nil;
_backgroundLayer.lineCap = kCALineCapRound;
_backgroundLayer.lineJoin = kCALineCapRound;
_backgroundLayer.lineWidth = 2;
[self.layer addSublayer:_backgroundLayer];
UIBezierPath *path = [UIBezierPath bezierPath];
path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(self.center.x - self.frame.origin.x,
self.center.y - self.frame.origin.y)
radius:(self.bounds.size.width - 5) / 2
startAngle:-M_PI_2
endAngle:-M_PI_2 + M_PI * 2
clockwise:YES];
_backgroundLayer.path = path.CGPath;
[self dingshi];
}
return self;
}
-(void)dingshi{
// opacity(闪烁) strokeEnd(重现) transform.scale(缩放)
_backgroundLayer.strokeColor = [UIColor brownColor].CGColor;
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"];
animation.fromValue = [NSNumber numberWithFloat:0.0];
animation.toValue = [NSNumber numberWithFloat:1.0];
animation.duration = arc4random() % 10;
[_backgroundLayer addAnimation:animation forKey:@"strokeEndAnimation"];
[self performSelector:@selector(dingshi) withObject:nil afterDelay:animation.duration + 0.1];
}
@end