【发布时间】:2013-04-27 12:19:37
【问题描述】:
我正在开发一个 ipad 项目,它的 UITabBarController(它也是根)有 5 个选项卡。
第二个选项卡是一个表格视图,其中有相当丰富的 UI 元素。
问题是每次我启动应用程序并单击第二个选项卡时,我都会被阻止 0.3 秒以显示视图控制器。但是,第一次进入这个选项卡后,我只需要 0.03 就可以再次进入这个选项卡。
所以我认为ViewDidLoad 成本太高,因为我在那里做了很多addSubView 或reloadData。所以我加了
[libraryVC viewDidLoad];
[libraryVC viewWillAppear:YES];
[libraryVC viewDidAppear:YES];
在application:didFinishLaunchingWithOptions 中,我认为如果我在用户进入第二个选项卡之前执行此视图加载内容,那么不会有阻塞。
但是在我测试了这种方法之后,我发现成本并没有降低。所以我猜在第一次显示这个视图控制器时可能会在视图渲染中使用时间成本。当viewcontroller的view之前已经渲染过,那么接下来的show会很快。但我不知道如何解决这个问题。
我认为当视图控制器的视图非常复杂时,这个问题很常见,那么有没有人知道解决这个问题的方法?或者有没有人可以详细描述一下阻塞发生的原因?
感谢您的帮助!
【问题讨论】:
标签: ios ipad uiview uitabbarcontroller uitabbar