2017-10-04 3 views
0

私はUIViewControllerを持っていますが、このViewControllerBをViewControllerAからプッシュしようとしています。 ViewControllerBには、ライブラリ(カレンダー、セグメント化されたコントロールなど)からのカスタムUIと、tableViewsを持つUIPageViewControllerがあります。ビューコントローラ(iOS)を押したときの遅延

ViewControllerBをプッシュすると1-3秒の遅延があり、timeプロファイラを使用すると、viewDidLoadでこれらのUIを設定するため、メインスレッドをブロックすることができます。そのため、ビューコントローラをプッシュする前にUIを設定するには、アプリに時間がかかるようです。

大量のUIを設定するのに、ビューコントローラをプッシュするときにメインスレッドをブロックしないようにするには、どのような方法が最適ですか?

+0

viewDidLoadおよびviewWillAppearメソッドからすべてのコードを削除し、それらをviewDidAppearに保持します。 –

答えて

0

メインスレッドをブロックしている初期化で、レイアウトが多すぎます。 init、viewDidLoad、およびviewWillAppearメソッドで必要なものだけをレイアウトし、viewDidAppearでは何も行いません。

関連する問題