0

の中で使用しUICollectionViewていUIPageViewControllerます。
各ページは、 の同じサブクラスのインスタンスですUICollectionViewController。以前に見たことのないページを表示するためにページ スワイプを行うと、UICollectionViewすべてのデリゲート/データソース メソッドを通過するのに時間がかかるため、アニメーションの開始にわずかな遅延 (数ミリ秒) が発生します。そのため、ユーザーが実際にスワイプを開始する前に、ビューコントローラーをロードする事前キャッシュシステムを実装しようとしていました。
簡単に作成できますが、何らかの理由でreloadData、 non-visibleを呼び出すたびに、どのデリゲート メソッドも呼び出されViewControllerません。 これまでのところ、 , , and を使用してそれらを強制的に呼び出そうとしましたが、何も機能していません。 ではないUICollectionViewDelegateFlowLayout
setNeedsDisplaysetNeedsLayoutsetLayoutIfNeededinvalidateLayout
viewcontrollernil. ではviewありませんnil
何が原因か誰か知っていますか?ビューコントローラーがビューポートにないためですか?

4

2 に答える 2

1

ビュー コントローラを最初にロードするのは、おそらく最善の方法ではありません。

むしろ、データ ソースをキャッシュする必要があります。

表示されていないコントローラーで reloadData が正しく機能しないことについては、そのとおりです。コントローラーが存在しないためです。

于 2016-04-21T15:08:05.700 に答える