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

绘图周期

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

绘图中用到的方法

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

触发重绘的情况

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

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

[self.view layoutIfNeeded];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容