我已经使用CGContextFillEllipseInRect创建了1000多个点,它将停止应用程序,并且在绘制完成后,该应用程序可以流畅地运行此选项
尝试使用CALayer
的drawsAsynchronously
属性并将其设置YES
为绘制视图的视图-这会将绘制命令发送到后台线程,并且您的主队列应该完好无损,并且接口应该保持响应状态。
更新:从问题本身来看,不清楚在哪里绘制这些点,但我假设这样会从-drawInRect:. At any moment, when your view will load, you need to configure
CALayer`中发生什么:
self.layer.drawsAsynchronously = YES;
如果在Interface Builder中可以看到绘制的视图,则可以drawsAsynchronously
使用Identity Inspector(Option + CMD + 3)从IB指定。“用户定义的运行时属性”的“查找”部分在此处添加了已选中布尔类型的layer.drawsAsynchronousl
键。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句