我有一个UIViewController,调用此ViewControllerB
,我试图从ViewControllerA推送。 ViewControllerB
有很多来自库(日历,分段控件等)的自定义UI,以及带有tableViews的UIPageViewController。
我注意到当我按ViewControllerB
时有1-3秒的延迟,并且在使用时间分析器时,由于在viewDidLoad中设置了这些UI,我能够将其跟踪到主线程的阻塞。因此,在推送视图控制器之前,应用程序似乎需要一些时间来设置UI。
设置大量UI但避免在推送视图控制器时阻止主线程的最佳方法是什么?
答案 0 :(得分:3)
初始化阻塞主线程的布局太多了。只有init,viewDidLoad和viewWillAppear方法中必需的布局,以及viewDidAppear中的其他任何内容。