ビューオブジェクト、ビューコントローラ、関連付けられた.xibを作成し、それをウィンドウにロードする方法…</ p>
これらはいくつかあり、それらのいくつかは矛盾しています。
コードでビューを作成する場合、ペン先でビューを作成する必要はありません(作成する必要はありません)。その逆も同様です。
ペン先をロードするビューコントローラーを作成する場合は、ペン先にビューを作成することになります。そのため、コードで同じビューを作成しないでください。
ほとんどのビューでビューコントローラを作成する必要はありません。各コントローラーが正確に1つのウィンドウ全体を所有するのがより一般的です。ビューコントローラが必要なのは、単一のウィンドウで複雑なビュー階層を管理する場合だけです(ほとんどの場合、アプリケーションを単一ウィンドウにする場合)。
…(現在のビューをクリアした後)。
ココアには「現在の見方」はありません。複数のウィンドウを持つことができ、それぞれに、実行時に通常編集しない深いビュー階層があります。ある種のタブ付きUIの外部で、あるビューを別のビューに交換することは非常に珍しいことです。
コードでビューオブジェクトを作成する
目的のビュークラスにalloc
メッセージを送信し、返されたビューにinitWithFrame:
メッセージを送信します(クラスのドキュメントで特に規定されている場合を除く)。もちろん、このビューを解放または自動解放する必要があります。
ペン先にビューオブジェクトを作成する
独自のペン先を与える(特にビューコントローラーの場合)
IB(新規)またはXcode(ファイルの追加)でview-nibテンプレートを使用します。Xcodeで作成する場合は、情報を取得してローカライズ可能にすることを忘れないでください。IBで作成する場合は、.lprojフォルダーの1つに保存する必要があります。その後、すでにローカライズ可能になります。
これらのテンプレートから作成されたペン先には、空のNSViewが1つ含まれます。以下に説明するように、クラスを変更したり、サブビューを追加したりできます。
既存のペン先でそれを作る
「カスタムビュー」をライブラリパレットからペン先ウィンドウにドラッグし、⌘6インスペクターでビューのクラスを設定します。
これは、ペン先のトップレベルビューに対してのみ行います。そのサブビューについては、以下を参照してください。
ビューをウィンドウのビュー階層に配置する
ビューをウィンドウのビュー階層(ウィンドウのコンテンツビュー)のルートにする必要がある場合
ウィンドウのコンテンツビューを設定します。
IBでは、ウィンドウのコンテンツビューを変更することはできません。代わりに、そのクラスやサブビューなどを変更します。ウィンドウのコンテンツビューをIBの別のビューに置き換えようとする理由はありません。
ビューを既存のビューのサブビューにする必要がある場合
コードでこれを行う方法は、スーパービューにaddSubview:
メッセージを送信することです。
両方のビューが同じペン先にある場合は、サブビューを作成し、同じ動作でスーパービューに追加します。「カスタムビュー」をライブラリからニブウィンドウではなくスーパービューにドラッグし、⌘6インスペクターでサブビューのクラスを設定します。
(完全にオリジナルのカスタムビューを作成するのではなく、標準のAppleビューのいずれかをカスタマイズする場合は、ベースにしている標準のAppleビューをライブラリからドラッグしてから、そのクラスをカスタマイズしたサブクラスに変更します。)