2012-01-16 10 views
0

メインメニューが格納されているCocoaアプリと、アプリのさまざまなタスクを処理するいくつかのxibの別のサブビューがあります。だから私はどのようにサブxibsを作るか、あるいはNSViewControllerControllerがメニューからアクションを受け取るようにするのですか?別のペン先のメインメニュー

アイデアはありますが、それが正しいかどうかわかりません:NSViewControllerをサブクラス化し、 - (IBAction)undoまたは - (IBAction)redoのインスタンスをファイル所有者として使用します。さらに私は実際のビューを指す、またはそのコントローラを指す私のアプリケーションデリゲートへのポインタを追加し、メニューはそのポインタにアクションを送信します。

賢明な解決策ですか?

答えて

0

メニューアイテムを最初のレスポンダに接続する必要があります。彼らの行動メッセージはレスポンダーチェーンに沿って移動し、レスポンダーに応答するものに達する。

レスポンダチェーン内の他のものの次のレスポンダとして設定することで、ビューコントローラがレスポンダチェーン内にあることを確認する必要があります。私はウィンドウコントローラを提案します。

ウインドウコントローラといえば、ビューコントローラではなく、ウインドウを処理する必要があります。同じウインドウ内の異なるビューに異なるアンドゥリストを持たせるのは混乱します。コントロールされたビューがPhotoshopやXcodeのようなドキュメントタブに対応していると私が考えることができる唯一の例外です。

関連する問題