2

Flipboard のページと同様に機能するカスタム UIViewController コンテナーを作成しました。ユーザーは、子View Controllerである「ページ」をスワイプ/タップできます。私はそれをうまく書いたと感じていますが、何百もの子View Controllerが存在する可能性があるシナリオに遭遇することを恐れています. これらのビュー コントローラーをすべてメモリにロードすることは避けたいと思います (それらはすべて大量のデータを含む UICollectionView を持つため)。

ビューをスワイプするためのジェスチャ インタラクションがあるため、ユーザーが別のページをスワイプし始めたときに表示されるように、「次の」ビューと「前の」ビューをそれぞれコンテナー ビューに追加して読み込む必要があります。

必要なときにのみ各View Controllerをロードできるように、すべてのView Controllerの -viewDidLoad が発生しないようにするにはどうすればよいですか? 次/前の子コントローラーのみをロードするためのアイデアを得ることができる「ベストプラクティス」または UIViewController コンテナーの例はありますか?

4

1 に答える 1

2

理論的には、コンテナUIViewControllerと2つが必要UIViewControllersです(あなたが言ったように)。1 つは次のものになり、もう 1 つは前のものになります。その後、両方への参照を保持できます。次に移動しようとしているとき (たとえば)、次のように更新するだけです。

- (void)updateViewController:(UIViewController *)viewController withDataSource:(NSDictionary *)dataSource;

最終的には 3 になりUIViewControllersます。他の解決策も考えられます。GitHub や CocoaControls でいつでもインスピレーションを得ることができます。

于 2013-04-09T18:28:32.900 に答える