CADisplayLink
之前我在我的博客图形绘制系列第六篇中介绍过定时器CADisplayLink的使用,它是属于CoreAnimation中的一个类,这个定时器可以使屏幕每秒大约刷新60次
这次主要使用CADisplayLink,结合其它动画类做一个转盘的小功能,有兴趣研究的朋友可以下载demo,我写好了详细注释
效果图
- 核心代码 WheelView.m
#import "WheelView.h"
#import "WheelButton.h"
@interface WheelView()<CAAnimationDelegate>
@property (weak, nonatomic) IBOutlet UIImageView *centerView;
@property(weak,nonatomic) UIButton * selBtn;
/**定时器*/
@property(nonatomic,strong)CADisplayLink * link;
@end
@implementation WheelView
//懒加载定时器
-(CADisplayLink *)link
{
if (_link == nil) {
_link =[CADisplayLink displayLinkWithTarget:self selector:@selector(angleChange)];
[_link addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];
}
return _link;
}
//加载xib
+(instancetype)wheelView
{
return [[NSBundle mainBundle]loadNibNamed:@"WheelView" owner:nil options:nil][0];
}
-(