2017-10-04 91 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中的其他任何操作。