利用CADisplayLink做一个雪花飘落的效果

#import "SnowView.h"
@interface SnowView()
{
    NSInteger h;
}
@end

@implementation SnowView


//xib加载后调用
- (void)awakeFromNib
{
    /**
     屏幕每刷新一次调用
     CADisplayLink是一个能让我们以和屏幕刷新率相同的频率将内容画到屏幕上的定时器。
     */
    CADisplayLink *link = [CADisplayLink displayLinkWithTarget:self selector:@selector(setNeedsDisplay)];
    [link addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];
}

- (void)drawRect:(CGRect)rect
{
   // NSLog(@"1111");
    h+=5;
    UIImage *snowImage = [UIImage imageNamed:@"雪花.png"];
    
    [snowImage drawAtPoint:CGPointMake(0, h)];
    if (h>self.bounds.size.height) {
        h = 0;
    }
    
}

@end


你可能感兴趣的:(利用CADisplayLink做一个雪花飘落的效果)