1

カスタム ビューを作成してウィンドウにロードしようとしています。

最後に、私が見逃している重要な関係を反映して、従うべきいくつかのステップがあることを知っています. 一連の手順で、ビュー オブジェクト、ビュー コントローラー、関連付けられた .xib を作成し、それを (現在のビューをクリアした後) ウィンドウに読み込む方法を誰かが説明してくれることを願っています。

そして、どこで宣言して初期化するか、何をインポートする必要があるかなど、すべての本質的なことを意味します。私は持っているすべての本に目を通していますが、それは私のちっぽけな脳にははっきりしていません.

ありがとう!

4

1 に答える 1

1

ビューオブジェクト、ビューコントローラ、関連付けられた.xibを作成し、それをウィンドウにロードする方法…</ p>

これらはいくつかあり、それらのいくつかは矛盾しています。

コードでビューを作成する場合、ペン先でビューを作成する必要はありません(作成する必要はありません)。その逆も同様です。

ペン先をロードするビューコントローラーを作成する場合は、ペン先にビューを作成することになります。そのため、コードで同じビューを作成しないでください。

ほとんどのビューでビューコントローラを作成する必要はありません。各コントローラーが正確に1つのウィンドウ全体を所有するのがより一般的です。ビューコントローラが必要なのは、単一のウィンドウで複雑なビュー階層を管理する場合だけです(ほとんどの場合、アプリケーションを単一ウィンドウにする場合)。

…(現在のビューをクリアした後)。

ココアには「現在の見方」はありません。複数のウィンドウを持つことができ、それぞれに、実行時に通常編集しない深いビュー階層があります。ある種のタブ付きUIの外部で、あるビューを別のビューに交換することは非常に珍しいことです。

コードでビューオブジェクトを作成する

目的のビュークラスにallocメッセージを送信し、返されたビューにinitWithFrame:メッセージを送信します(クラスのドキュメントで特に規定されている場合を除く)。もちろん、このビューを解放または自動解放する必要があります。

ペン先にビューオブジェクトを作成する

独自のペン先を与える(特にビューコントローラーの場合)

IB(新規)またはXcode(ファイルの追加)でview-nibテンプレートを使用します。Xcodeで作成する場合は、情報を取得してローカライズ可能にすることを忘れないでください。IBで作成する場合は、.lprojフォルダーの1つに保存する必要があります。その後、すでにローカライズ可能になります。

これらのテンプレートから作成されたペン先には、空のNSViewが1つ含まれます。以下に説明するように、クラスを変更したり、サブビューを追加したりできます。

既存のペン先でそれを作る

「カスタムビュー」をライブラリパレットからペン先ウィンドウにドラッグし、⌘6インスペクターでビューのクラスを設定します。

これは、ペン先のトップレベルビューに対してのみ行います。そのサブビューについては、以下を参照してください。

ビューをウィンドウのビュー階層に配置する

ビューをウィンドウのビュー階層(ウィンドウのコンテンツビュー)のルートにする必要がある場合

ウィンドウのコンテンツビューを設定します。

IBでは、ウィンドウのコンテンツビューを変更することはできません。代わりに、そのクラスやサブビューなどを変更します。ウィンドウのコンテンツビューをIBの別のビューに置き換えようとする理由はありません。

ビューを既存のビューのサブビューにする必要がある場合

コードでこれを行う方法は、スーパービューにaddSubview:メッセージを送信することです。

両方のビューが同じペン先にある場合は、サブビューを作成し、同じ動作でスーパービューに追加します。「カスタムビュー」をライブラリからニブウィンドウではなくスーパービューにドラッグし、⌘6インスペクターでサブビューのクラスを設定します。

(完全にオリジナルのカスタムビューを作成するのではなく、標準のAppleビューのいずれかをカスタマイズする場合は、ベースにしている標準のAppleビューをライブラリからドラッグしてから、そのクラスをカスタマイズしたサブクラスに変更します。)

于 2010-10-16T06:01:24.087 に答える