0

我使用的大多数 iOS 应用程序都非常敏感,当我点击一个元素时,它会立即转到下一个视图。在我的应用程序中,我的一些视图控制器需要 0.5-1.0 秒才能加载。

我的代码都在viewDidLoad方法中,我很确定这是问题所在,但我无法移出任何东西,因为我需要实例化的每一个元素。

我认为的一个解决方案是将我在 viewDidLoad 中所做的所有工作移到一个线程中,然后在我准备好调用时调用主线程addSubview,即使 UIKit 不是线程安全的,这也能工作吗?还是我还缺少其他东西?

4

3 回答 3

1

尝试将 viewDidLoad 中的一些代码移动到 viewdidAppear。一旦呈现视图,就会调用 viewDidAppear。如果你必须做一些艰苦的工作,那就在那里做,也许在你做的时候在某个地方展示一个微调器。

于 2012-06-04T04:05:27.380 回答
1

你在 viewDidLoad 中到底在做什么?顺便说一句,仅在需要时才加载视图,如果您想更快地在视图之间切换,我可以建议您创建一个初始化阶段,在该阶段您在要显示的所有视图控制器上调用 -view,也许对微调器有所帮助或进度条。但请注意,这仅适用于密集加载任务,而不适用于内存消耗任务。
你的请求听起来很奇怪,所以你最好试着更好地解释为什么你的 viewDidLoad 这么慢,也许有什么问题。

于 2012-06-04T04:21:59.650 回答
0

在 Xcode 中定义您的 UI 元素作为界面设计的一部分。这样,Xcode 可以将您的 storeyboard 或 xib 文件编译成快速加载的二进制形式。

于 2012-06-04T02:57:53.003 回答