2017-10-04 90 views
0

我有一个UIViewController,调用这个ViewControllerB,我试图从ViewControllerA推送。 ViewControllerB有许多来自库(日历,分段控件等)的自定义用户界面,以及具有tableViews的UIPageViewController。推视图控制器(iOS)时的延迟

我注意到,当我按ViewControllerB时,有一个1-3秒的延迟,并且在使用时间分析器时,由于在viewDidLoad中设置了这些UI,我能够追踪它以阻塞主线程。因此,在推送视图控制器之前,应用似乎需要一些时间才能设置UI。

建立大量UI的最佳方式是什么,但避免在推视图控制器时阻塞主线程?

+0

删除viewDidLoad和viewWillAppear方法中的所有代码,并将它们保存在viewDidAppear中。 –

回答

0

在初始化阻塞主线程时布局太多了。只在init,viewDidLoad和viewWillAppear方法中布置必要的布局,以及viewDidAppear中的其他任何操作。