iOS - Quartz2D绘图相关(总有你想知道的)

绘图周期

iOS绘制时候, 都会在需要绘图的部分区域设置一个绘图标志, 在每轮事件循环中, 绘图引擎会检测是否有需更新的内容, 有就会调用视图drawRect:方法进行绘制, 因而在需绘图的视图中重写drawRect:方法

绘图中用到的方法

drawRect:
setNeedsDisplay 重新绘制整个视图
setNeedsDisplayInRect: 重新绘制整个视图的部分
尽量不要绘制视图的全部

触发重绘的情况

  • 正在遮挡你的视图作移动或者删除操作时
  • 视图的hidden属性声明设置为NO
  • 视图滚离屏幕 然后重新显示到屏幕上
  • 显式调用 setNeedsDisplay setNeedsDisplayInRect: 方法

如何调用设置了绘图方法的视图 让其重绘

[self.view layoutIfNeeded];

你可能感兴趣的:(iOS - Quartz2D绘图相关(总有你想知道的))