ios – CALayer在背景中绘图

ios – CALayer在背景中绘图,第1张

概述我必须在iOS应用程序中做一个大而复杂的绘图.绘图区域也必须是可滚动和可缩放的. 我通过将绘图区域拆分为许多小CALayers作为切片来实现这一点.每当用户滚动绘图区域一定量时,来自不可见区域的图块被移动到另一侧并且内部绘制新内容.每个CALayer都有一个绘图委托,只有移动的拼贴才能获得setNeedsDisplay调用. 事实上,我以某种方式模仿CATiledLayer的行为,我不能直接使用它 我必须在iOS应用程序中做一个大而复杂的绘图.绘图区域也必须是可滚动和可缩放的.
我通过将绘图区域拆分为许多小CALayers作为切片来实现这一点.每当用户滚动绘图区域一定量时,来自不可见区域的图块被移动到另一侧并且内部绘制新内容.每个CALayer都有一个绘图委托,只有移动的拼贴才能获得setNeedsdisplay调用.

事实上,我以某种方式模仿CATiledLayer的行为,我不能直接使用它,因为我需要比这提供更多的控制和灵活性.

到目前为止,我的代码运行良好,但在复杂的绘图中,UI中仍然存在hickup,而滚动期间内容会重新绘制.我希望绘图完全在后台,但UI线程似乎在绘图期间阻塞.

有没有办法让iOS在后台异步调用CALayer的绘图委托?我实际上不介意图纸显示有点延迟(因为瓷砖无论如何都会出现在可见区域之外).

解决方法 将 drawsAsynchronously属性设置为YES.这将在后台线程中排队绘制请求,而不是在主线程中绘制. 总结

以上是内存溢出为你收集整理的ios – CALayer在背景中绘图全部内容,希望文章能够帮你解决ios – CALayer在背景中绘图所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1107673.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存