博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Quart2D setNeedsDisplay
阅读量:5124 次
发布时间:2019-06-13

本文共 1182 字,大约阅读时间需要 3 分钟。

#import "myview.h"@interface myview ()@property(nonatomic,assign) float imageY;@end@implementation myview-(instancetype)initWithFrame:(CGRect)frame{    if ([super initWithFrame:frame]) {        //刷帧,默认每秒60次,不会自动启动,需要加到RunLoop中        CADisplayLink *display=[CADisplayLink displayLinkWithTarget:self selector:@selector(updateimg)];        [display addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];                //一般用于更新非界面数据//        [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(updateimg) userInfo:nil repeats:YES];    }    return self;}-(void)updateimg{        //drawRect:方法不能由我们自己手动调用,只能由系统来调用。    //drawRect:调用的时机:当第一次显示或者一个重绘事件发生时调用。   //    setNeedsDisplay方法:重新绘制,调用这个方法就会通知自定义的view重新绘制画面,调用drawRect:。   //    提示:当一个view从xib或storyboard创建出来时,会调用awakefromnib方法。    [self setNeedsDisplay];}-(void)awakeFromNib{    NSLog(@"awakefromnib");}- (void)drawRect:(CGRect)rect {        self.imageY+=3;    if (self.imageY>rect.size.height) {        self.imageY=0;    }     UIImage *img=[UIImage imageNamed:@"img.jpg"];     [img drawAtPoint:CGPointMake(20, self.imageY)];}@end

 运行效果:图片往下循环移动

 

转载于:https://www.cnblogs.com/5ishare/p/4402481.html

你可能感兴趣的文章
BZOJ 4836: [Lydsy1704月赛]二元运算 分治FFT
查看>>
域名、网站名、URL
查看>>
Docker常用命令
查看>>
mysql几种存储引擎介绍
查看>>
转-Android客户端和服务端如何使用Token和Session
查看>>
IOS第14天(2, Modal控制)
查看>>
删除确认代码
查看>>
刻意练习
查看>>
学习笔记13_第三方js控件&EasyUI使用
查看>>
Java变量的初始化问题探究
查看>>
DSU on tree——令人惊叹的想法
查看>>
javascript 闭包
查看>>
约瑟夫环问题
查看>>
c++ __int64
查看>>
IP封锁 (防火墙维护一张IP黑名单)
查看>>
【模板】trie树(字典树)
查看>>
JSON.stringify 语法实例讲解
查看>>
Python6 模块
查看>>
P3377 【模板】左偏树(可并堆)
查看>>
Djang 用户登录
查看>>