標籤:
1 @implementation NJView 2 3 /* 4 -(void)awakeFromNib 5 { 6 7 NSLog(@"awakeFromNib"); 8 // 建立CADisplayLink, 預設每秒60次 9 CADisplayLink *display = [CADisplayLink displayLinkWithTarget:self selector:@selector(updataImage)];10 // 將CADisplayLink加入到訊息迴圈中11 [display addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];12 }13 */14 15 16 - (id)initWithCoder:(NSCoder *)aDecoder17 {18 if (self = [super initWithCoder:aDecoder]) {19 NSLog(@"initWithCoder");20 21 // NSTimer一般用於定時的更新一些非介面上的資料22 // [NSTimer scheduledTimerWithTimeInterval:23 // 0.1 target:self selector:@selector(updataImage) userInfo:nil repeats:YES];24 25 // 建立CADisplayLink, 預設每秒60次26 CADisplayLink *display = [CADisplayLink displayLinkWithTarget:self selector:@selector(updataImage)];27 // 將CADisplayLink加入到訊息迴圈中28 [display addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];29 30 }31 return self;32 }33 34 - (void)updataImage35 {36 [self setNeedsDisplay];37 }38 39 40 - (void)drawRect:(CGRect)rect41 {42 CGContextRef ctx = UIGraphicsGetCurrentContext();43 // CGContextClearRect(ctx, rect);44 45 self.imageY += 10;46 47 if (self.imageY > rect.size.height) {48 self.imageY = 0;49 }50 // Drawing code51 UIImage *image = [UIImage imageNamed:@"snow"];52 [image drawAtPoint:CGPointMake(10, self.imageY)];53 54 55 }
iOS刷幀動畫