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