【发布时间】:2013-01-15 00:07:09
【问题描述】:
我遇到了我还不理解的行为。我的代码基本上是这样做的:
使用一些自定义 UIView 内容创建视图(带有 drawRect 的视图),此视图还没有超级视图,因此 Quartz 子系统不会将其称为 [图层显示]。
然后我做一个视图的renderInContext。
问题是有时视图完美渲染,有时它不渲染子视图并且不调用它们的drawRect。
为什么会这样?我错过了一些东西。我其实知道同一层不能同时渲染。但是这个视图没有在主线程上渲染,因为它没有超级视图。
非常感谢
【问题讨论】:
-
我认为问题与后备存储缓冲区有关,但我不确定。
-
您不需要超级视图即可在主线程上呈现。但是,如果你不在主线程上,几乎没有 UIView 操作可以正常工作。
标签: iphone ios quartz-graphics layer