私はこの問題にかなり苦労しており、自分でそれを理解できないようです。
これが状況です。独自の ViewController を備えたカスタムの Nib ベースのビューが必要です。次に、このビューをウィンドウに追加します。したがって、ウィンドウにはカスタム ビューが含まれている必要があります。
そこで、次のような非常に単純な例を作成します。
- Xcode 4 で、空白のドキュメント ベースの新しい Cocoa アプリケーションを作成します。
- から拡張する必要がある新しい Cocoa クラスを作成します
NSViewController
(これにより、.h および .m ファイルと共に nib が作成されます。作成された .h、.m および .xib ファイルの名前はFaceViewController
テスト目的のためのものであり、表示のみを行う必要がありますとりあえずテキスト。 - InterfaceBuilder でを開き、
NSViewController.xib
複数行のテキスト コンポーネントを追加して、既に xib ファイルにあるカスタム ビューに配置します。テキストをビュー全体に広げます。 - また
MyDocument.xib
、プレース ホルダーを追加しCustom View
ます。これは、カスタム FaceView に置き換える必要があります。
この開始点から、作成した View + ViewController を含めようとしたすべてがMyDocument.xib
失敗し、テキストを表示する必要がある領域は空のままです (下にあるウィンドウの背景のように.
私のFaceViewが、私が配置したカスタムビューにロードされるように、私の質問は本当に私がしなければならないことですMyDocument.xib
。ここに私には不明な点がいくつかあります:
- カスタム ビューはから拡張され
NSView
ているので、これを FaceView に変更したかったのですが、ビューはクラスとして存在しませんが、xib の InterfaceBuilder で定義されています。これを 以外に設定する必要がありNSView
ますか? - in コードを割り当て、初期化する
FaceViewController
必要がありますか、それとも 2 つの .xib のいずれかにドラッグするだけで十分ですか? - FaceView を配置するために InterfaceBuilder を使用できますか、それともプログラムで行う必要がありますか?
このようなカスタム ビューを作成するのは簡単なことだと思っていましたが、これまでのところまったく逆でした。