在项目中,遇到tableView一排cell展示圆形图标的情况,如果直接通过设置圆角半径的方式来实现圆形图标,一个还好,如果多个cell都要显示圆形图标这样做的话在滑动cell循环利用的时候势必会滑起来很卡,这是因为直接设置圆角半径每次cell显示出来的时候这个设置圆形的计算操作会在CPU内部单独开出一块区域进行计算,计算完了再拿过来显示,这样会很迟钝很耗性能。那么如果用Quartz2D事先画好就好多了,不会每次滑动都要去进行很多个圆形控件计算。可见Quartz2D的用处是很大的。它不仅可以画线,还可以画一些控件、图片裁剪、截图、合并图、加水印等。
基本线条绘制
效果图:
形状绘制
效果图:
画弧
效果图:
绘制文字
效果图:
绘制图片
效果图:
上下文状态栈
效果图:
图片加水印-生成图片
效果图:
图片裁剪
效果图: