繁体   English   中英

iOS图层渲染队列

[英]iOS Layer Rendering Queue

我遇到了一种我不了解的行为。 我的代码基本上是这样做的:

  • 创建带有一些自定义UIView内容的视图(带有drawRect的视图),该视图尚无超级视图,因此Quartz子系统没有将其称为[图层显示]。

  • 然后我做一个renderInContext视图。

  • 问题在于,有时视图会完美呈现,有时不呈现子视图,并且不会调用子视图的drawRect。

为什么会发生? 我想念一些东西。 我实际上知道同一层不能同时渲染。 但是由于该视图没有超级视图,因此不会在主线程上呈现该视图。

非常感谢

很有趣,没有看过源代码几乎是很难理解的,但是我掌握了一些可以使用的技巧。

  • 将视图添加到超级视图中,将alpha设置为0
  • 尝试将其添加到超级视图的范围之外
  • 尝试在该视图上调用-setNeedsDiplay

我不知道它们是否有效,渲染系统不是一个简单的任务,但是我会做一个尝试。我没有得到的一件事,通常将子视图添加为子视图,但是您说您对它们做了一些操作在drawrect里面。 不要在drawRect, drawRect和addSubview中添加子视图:自定义图形会影响哪些视图?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM