0

短い答えはタイトルの中にあります:)

説明: 私の場合、アプリケーションのメイン メニューMainMenu.xibしかありません。これは、開いているすべての s で同じでなければなりません。メニュー項目をいつ有効にする必要があるか ( s on inを介して) と、すべてのアクションをどうするかについてのすべての回答を持っている特定のものが 1 つあります。現在フォーカスされているものに関連付けられている場合は問題ありませんが、別のものにフォーカスすると、すべてのメニューがグレー表示されます。NSWindowNSWindowControllercaseselectorvalidateUserInterfaceItemNSWindowNSWindowControllerNSWindow

私は今、このフローを持っています: MainMenuMain nib into としてそれを参照して作成されinfo.plist、次にAppDelegateいくつかの init を実行して で作成MainWinControllerMainWindow、ある時点で でMainWinController1+DetailsWinControllerを作成しDetailsWindowます。AppDelegateから毎回関数を呼び出して、カスタム メニューを管理しますMainWinController

NSWindowControllerでは、レスポンダー チェーンが常に特定の( )を照会するように強制するにはどうすればよいMainWinControllerでしょうか?

4

1 に答える 1

0

あなたは続けるために多くの詳細を与えていません、そしてあなたが達成しようとしていることは明らかではありません.

私の最初の反応は、Menu 項目を共有したいのに、MainWindow 内に View ではなく複数のウィンドウを作成するのはなぜですか? ということです。

MainWindow と DetailsWindow の両方が同じセレクターを実装すると仮定すると、メニュー アクションをファーストレスポンダーに向けることができます。

InterfaceBuilder に DetailsWinController を追加するには、オブジェクト ライブラリから NSObject をドラッグし、Identity Inspector でそのクラスを DetailsWinController クラスに変更します。

メイン メニューに DetailsWindow の異なる項目がある場合は、これらをそのインスタンスのアクションに接続するだけです。

この場合、コードで DetailsWinController を作成しないでください。本当にコードでこれを行いたい場合は、アクションとターゲットをコードでメニューに追加する必要があります。

于 2012-07-17T06:47:08.743 に答える