私は、ページごとにPDFを表示してメモリ使用量を減らすことになっている小さなPDFビューアを作成しました。 PDFの特定のページを表示するPdfViewControllerで構成されています(UIScrollView、CATiledLayerを使用)。UIViewControllerを使用したコードデザインの質問(PDFページをページごとに描画) - ベストプラクティス?
私は次のページを表示したい場合(スワイプジェスチャーを使って)、どうすればいいですか?私のコントローラがそれを処理し、ビューを更新するべきか(これは、あなたが見ているとすぐにCATiledLayerがクラッシュする恐れがあるためです:-))、またはすべてのページフリップのために新しいPdfViewControllerを生成する "外部"より柔軟なaproach)?
このような状況ではどのようなことがベストプラクティスですか? UINavigationControllerを見ると、すべてのレベルで新しいUIViewControllerをプッシュするはずです。しかし、そこに押し込まれているすべてのコントローラは異なるかもしれません。私の場合、すべてのページが同じコントローラを使用しています。
あなたは間違っています。私はUINavigationControllerを使用しません。私はちょうどそれを比較として使用しました:UINavigationControllerはUIViewControllerで、他のUIViewControllerを押します。だからあなたはボックス化されたUIViewControllerを持っています。これは何とかAppleのルール「1つのコントローラにつき1つのコントローラ」に対するものです。事は:それは論理的であり、convienentです。しかし、あなたがUIViewControllersのボックスを表示すると、ViewDidAppearなどの内部コントローラがトリガされません。 AppleがUINavigationControllerのようなこれらすべてのコントローラハンドラにkludgesを使用しているのだろうか?したがって、私の質問:同じ方法でそれをやりますか、それを避けますか? – Krumelur
ああ、私はあなたのアプリのためにUINavC自体を使いたいという印象の下にいました。アップルのUIVCをクルージングと呼ぶことはありません。インナービューコントローラは不要なため自動的にトリガされません.UINavCを想像してみてください。常にViewDidAppearをスタックのすべてのコントローラで起動するか一番上のもの?そのような種類のロジックがUINavCの中にあるので、あなたもカスタムコントローラーに入れます。PagedViewControllerコードを見て、私が何を意味するのか見てみましょう。 –