我有一个应用程序,它具有三个嵌套视图,这些视图在机械上很重要,但没有视觉元素:
- 没有任何内容的 vanila UIView,仅用作 CALayers 的主机。
- 一个 UIScrollView (查询它的来源并用于在 3d 中定位 CALayers:我真的只使用这个视图来忠实地复制滚动视图的“机制”),
- 滚动视图的内容:一个 UIView 子类。它只是拾取触摸事件并将它们传递给委托 - 重要的是它的 UIResponder 机制。
承载 CALayers 的 UIView 是 UIImageView 的兄弟,它是绘制 CALayers 的背景图像。
我真的很想确保这些空的 UIView 没有任何与它们相关的绘图或合成开销(在时间或存储上),或者如果这不可能,则尽可能少地获得这个开销,并理解它我也许可以决定是否应该尝试不同的方法。
在界面生成器中,我已将所有视图设置为在绘制之前不清除它们的上下文。我没有将它们设置为不透明,因为它们绝对不是不透明的——它们是完全透明的。我发现我需要给滚动视图内容一个透明的清晰颜色(再次在 IB 中通过将背景颜色的不透明度设置为零),这表明它正在被绘制,这是我不想要的。
所以,简而言之,我不太了解什么是被绘制的,什么不是被绘制的(有人知道像 Quartz Debug for iPhone / 模拟器这样的工具吗?),或者如何阻止事情被绘制。
建议将非常受欢迎!谢谢,本约翰