我在根UIView中显示大量的UIViews。 (我知道这不是一个好习惯)。子视图包括使用Quartz绘制一些行的UIImageViews,UILabels和自定义UIViews。在生成所有视图后,我将根视图添加到UISCrollView中以显示它们。问题是,所有图像都会立即显示,但标签中的文本和我在drawRect方法中绘制的线条需要很长时间才能显示。如果我缩放滚动视图,它们都会立即显示。有什么问题?谢谢。UIView需要很长时间才能显示
回答
很难说没有看到你的代码,但听起来像你的应用程序的东西。 iOS可以处理一个大子视图的数量而不会窒息或口吃。而且所有的东西都是单线程的 - 事实上,据我所知,所有的渲染都发生在同一个运行循环中(CATiledLayer
-backed视图是我能想到的唯一例外)。所以即使渲染陷入困境,我也会期待一段很长的停顿,然后一切显示出来。不是你描述的零碎结果。
您是以编程方式或从笔尖添加视图吗?一切都在同一个笔尖,还是一些东西在他们自己的独立笔尖?你的UIViewController
情况是什么样子的?
试着在显示较晚的东西中弹出一些日志记录。他们的-drawRect:
是否真的被叫得很晚,还是被其他所有事情调用,并被别的东西遮挡了?试着开始一个没有任何内容的新的干净的应用程序,并将你的每个子视图放在那里看看它们是如何独立执行的?请特别注意您使用GCD,线程或preform:AfterDelay:
类型调用的任何地方。
如果所有的失败,作为示例项目发布,所以我们可以真正调试你所做的。
+1的方法... – tipycalFlow
...和+1的多个建议。但是对于Eric Wong:我们需要看到你的代码是确定的。 – Sum
今天我发现了一个'UIButton','UILabel'或者另一个包含文本的控件,如果其上使用的字体在项目中不存在,则需要很长时间才能加载。我从另一个项目导入了一个自定义控件,Xcode试图使用它的字体,尽管它在我当前的项目中不存在。字体甚至显示在属性检查器中。没有任何警告或错误消息。果然,在我改变字体之后,性能还是很好的。 – Alexander
- 1. 用UIActivityIndicatorView显示UIView需要很长时间才能做点什么
- 2. 需要很长时间才能显示的MySQL查询
- 3. VS2010需要很长时间才能显示项目属性
- 4. mobile.loading需要很长时间才能显示
- 5. 鸣叫blender需要很长时间才能显示鸣叫
- 6. Firebase日志的云端函数需要很长时间才能显示?
- 7. 创建FCM主题需要很长时间才能显示在控制台中
- 8. 为什么UAC对话框需要很长时间才能显示?
- 9. MKOverlay需要很长时间才能显示来自异步调用
- 10. Android应用有时需要很长时间才能加载
- 11. Process.Start有时需要很长时间才能返回
- 12. 的Adobe AMF有时需要很长时间才能连接
- 13. Android活动需要太长的时间才能显示内容
- 14. Powershell输出需要更长的时间才能显示
- 15. 分享意图需要较长时间才能显示
- 16. 为什么phpMyAdmin需要很长时间才能显示查询,但显示查询执行得很快?
- 17. FB.getLoginStatus需要很长时间才能响应
- 18. Ravendb Savechanges();需要很长时间才能运行?
- 19. flash.media.Sound.play需要很长时间才能返回
- 20. Ehcache集群需要很长时间才能在Tomcat上启动
- 21. sp_reset_connection需要很长时间才能运行
- 22. 简单查询需要很长时间才能执行
- 23. CakePHP 2.2/AclExtras/aco_sync需要很长时间才能执行
- 24. 猪需要很长时间才能扎进Hbase
- 25. 图片资源需要很长时间才能加载
- 26. Android工作室需要很长时间才能打开
- 27. C#SerialPort.Write需要很长时间才能写入数据
- 28. Google地图需要很长时间才能加载
- 29. Wordpress网站需要很长时间才能加载
- 30. Mysql查询需要很长时间才能执行
显示您正在使用的代码。 – WrightsCS