あなたは間違いなく[super loadView]
に電話すべきではありません。私はあなたがZoomingPDFViewerの例でバグを発見したと思います。
(xibを使用せずに)ビューコントローラのビュー階層をプログラムで作成する場合は、loadView
を上書きします。
あなたが指摘したように、文書はっきりとはsuperと呼んではいけないと述べています。
このメソッドのカスタム実装では、superを呼び出すべきではありません。
ビューコントローラが持っている場合:私は、これがXIBからこの方法はXIBからビューをロードするためにベースによって使用されるプログラムでビューを作成する両方のローディングを回避することであると仮定
このメソッドは、nibファイルからビューをロードします( )。
も注意している、あなたのUIViewController
オブジェクトの割り当て時にあなたがloadView
のUIViewController
実装は、それの関連するクラス名を持つ任意のXIBをロードしようとするnibNameOrNilパラメータにnilを渡す場合でも。
ビューコントローラは、関連するnibファイルを持っている場合、明示的に使用してそれをペン先 ファイルを割り当てた場合、ビューコントローラは 、ストーリーボードからインスタンス化された場合に発生する非ゼロ値を返し nibNameプロパティinitWithNibName:bundle:method、、またはiOSがアプリケーションバンドルのnib ファイルをビューコントローラの クラス名に基づく名前で検出した場合。ビューコントローラに関連付けられたnib ファイルがない場合、このメソッドは代わりにプレーンなUIViewオブジェクトを作成します。
この方法の本当の目的は、あなたのXIBローディング機構に組み込まれたに頼らずにビュー階層を構築するの完全な制御を与えることです。:
あなたを作成するために、このメソッドをオーバーライドすることができます手動でビューを表示します。個人的に
場合、私はloadView
をオーバーライドします。1.)私はそれのためになるだろうXIBは本当に些細であるか、2)コントロールのレイアウトは非常に動的であるため、静的なレイアウトでXIBを作成することはほとんど利益を持っています。
出典
2012-03-05 16:05:10
Sam
長さの+1マークアップを明瞭に/簡潔に... – Damo