我正在开发各种iOS应用程序,我需要一个具有以下功能的界面:
我有一个滚动视图(覆盖大部分屏幕),可以双向滚动
此可滚动视图包含许多矩形。这些矩形是难以处理的。用户可以修改它们,移动它们,创建和删除。理想情况下,他们都是CALayers或UIViews。
问题是因为一次显示100个或1000个,CALayers或UIViews效率可能不高。
滚动视图可能比屏幕尺寸大10-20倍。并完全覆盖这些形状。因此,当用户滚动时,在滚动完成后不应看到任何闪烁或形状出现。例如如果我使用CATiledLayer和用户滚动,您可以看到滚动完成后绘制的内容。
平滑缩放。缩小是特别具有挑战性的,因为需要在视图的将要变得可见的部分上绘制形状。另外,理想情况下我宁愿不使用像CGAffineTransform这样的东西来执行缩放,我喜欢像素精确缩放。
我尝试了各种各样的东西,但是我甚至无法在iPhone 6上获得不错的帧率。即使尝试绘制每一帧,但是处理它的Core Graphics太贵了。是否有人试图做类似的事情或开源库的代码示例?我试图不使用OpenGL,我觉得这有点矫枉过正,但如果必须,我会尝试。仅供参考,我还没有OpenGL的经验。
Procreate for iPad完成了我想做的事情,它的超级响应和缩放像素精确。我知道他们使用的是OpenGL而我不是在制作绘图应用程序。我提到它的原因是因为它显示了我正在尝试做的事情。
答案 0 :(得分:1)
我认为您需要从UIKit转移到某些2D或3d引擎: