Quart2D setNeedsDisplay
#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
运行效果:图片往下循环移动

Quart2D setNeedsDisplay的更多相关文章
- drawRect与setNeedsDisplay简单介绍
- (void)drawRect:(CGRect)rect { } p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: ...
- UIView的setNeedsDisplay和setNeedsLayout
1,UIView的setNeedsDisplay和setNeedsLayout方法 首先两个方法都是异步执行的.而setNeedsDisplay会调用自动调用drawRect方法,这样可以拿到 UI ...
- setNeedsDisplay,setNeedsLayout
UIView的setNeedsDisplay和setNeedsLayout方法.首先两个方法都是异步执行的.setNeedsDisplay会调用自动调用drawRect方法,这样可以拿到UIGraph ...
- setNeedsDisplay和setNeedsLayout
1,UIView的setNeedsDisplay和setNeedsLayout方法 首先两个方法都是异步执行的.而setNeedsDisplay会调用自动调用drawRect方法,这样可以拿到 UI ...
- UIView常用的一些方法小记之setNeedsDisplay和setNeedsLayout
1,UIView的setNeedsDisplay和setNeedsLayout方法 首先两个方法都是异步执行的.而setNeedsDisplay会调用自动调用drawRect方法,这样可以拿到 UI ...
- layoutSubviews,setNeedsDisplay
一 , layoutSubviews何时调用的问题 //layoutSubviews何时调用的问题,这个方法是当你需要在调整subview的大小的时候需要重写(我这个翻译不严谨,以下是原文:You s ...
- 【转】 UIview需要知道的一些事情:setNeedsDisplay、setNeedsLayout
原文:http://blog.sina.com.cn/s/blog_923fdd9b0101b2b4.html 1.在Mac OS中NSWindow的父类是NSResponder,而在iOS 中UIW ...
- setNeedsDisplay 和 setNeedsLayout-b
setNeedsDisplay: Marks the receiver’s entire bounds rectangle as needing to be redrawn. drawRect: Th ...
- setNeedsDisplay setNeedsLayout
setNeedsDisplay调用drawRect方法来实现view的绘制,而setNeedsLayout则调用layoutSubView来实现view中subView的重新布局 转自 http:/ ...
随机推荐
- C# 函数式编程及Monads.net库
函数式编程中,一切皆为函数,这个函数一般不是类级别的,其可以保存在变量中,可以当做参数或返回值,是函数级别的抽象和重用,将函数作为可重用的基本模块,就像面向对象中一切皆为对象,把所有事物抽象为类,面向 ...
- 本地Git与github连接/上传配置
参照:http://www.runoob.com/w3cnote/git-guide.html 一.本地与githup连接配置1.本地创建ssh key: $ ssh-keygen -t rsa -C ...
- fping常用参数介绍
fping的主要参数有以下两个: -a:只显示存活主机: -u:只显示不存活主机: -l:循环ping目标IP地址的输入方式: fping IP1 IP2 IP3 ...: fping -f file ...
- 为什么在UDP包中不能获取发包方的地址
首先,我们要先了解一下UDP包的结构. 图1 UDP报文格式 从图1,我们可以看出,从UDP包中,我们可以获取的信息只有源端口和目的地端口.我们不能获取到源IP因为报文中没有源IP.真正包含IP地址的 ...
- Python 学习第一章
学习内容如下: Python 介绍 Python 3 VS Python 2 软件的安装 第一个 Python 程序 变量与字符编码 用户输入与注释 一.Python 介绍 python的创始人为吉多 ...
- Python地理位置信息库geopy的使用(二):根据中心点坐标,方向,距离计算坐标
上一篇文章我们介绍了geopy的基本使用,这一篇文章我们根据中心点坐标,方向,距中心点距离计算出对应的坐标点,这种用法官网并没有给出详细的文档,我们这里做一下说明 生成坐标点的具体方法 import ...
- Poetry
1. Absence to love is what wind is to fire. It extinguishes the small; It inflames the great. 2. It ...
- C# byte array 跟 string 互转
用 System.Text.Encoding.Default.GetString() 转换时,byte array 中大于 127 的数据转 string 时会出问题. 把这里的 Default 换成 ...
- TmsHttpClientUtil
package com.sprucetec.tms.utils; import java.io.IOException;import java.security.GeneralSecurityExce ...
- iOS---代理、协议、通知 详解
一.代理 1.代理的介绍 代理是一种通用的设计模式 代理使用方式:A 让 B 做件事,空口无凭,签个协议. 所以代理有三部分组成: 委托方: 定义协议 协议 : 用来规定代理方可以做什么,必须做什 ...