iOS - Quartz2D绘图相关(总有你想知道的)
2016-05-08 本文已影响145人
MonsterNanny
绘图周期
iOS绘制时候, 都会在需要绘图的部分区域设置一个
绘图标志
, 在每轮事件循环中, 绘图引擎会检测是否有需更新的内容, 有就会调用视图drawRect:
方法进行绘制, 因而在需绘图的视图中重写drawRect:
方法
绘图中用到的方法
drawRect:
setNeedsDisplay
重新绘制整个视图
setNeedsDisplayInRect:
重新绘制整个视图的部分
尽量不要绘制视图的全部
触发重绘的情况
- 正在遮挡你的视图作移动或者删除操作时
- 视图的hidden属性声明设置为NO
- 视图滚离屏幕 然后重新显示到屏幕上
- 显式调用
setNeedsDisplay
setNeedsDisplayInRect:
方法
如何调用设置了绘图方法的视图 让其重绘
[self.view layoutIfNeeded];