1

[印刷]メニュー項目を変更して、-printWindow:メッセージをFirst Responderに送信し、2つのウィンドウコントローラー(プライマリウィンドウとセカンダリウィンドウ)でそのメソッドを定義しました。私のプライマリウィンドウでは、すべてが正常に機能します。ただし、2番目のウィンドウにフォーカスすると、[印刷]メニュー項目が自動的に無効になります。

@interface SecondaryWindowController : NSWindowController {

}

- (IBAction) printWindow:(id)sender;

私の実装:

- (IBAction) printWindow:(id)sender {
    NSLog(@"called print:%@", sender);
}

メニュー項目の自動検証を理解している場合は、最初のレスポンダー階層を上って、選択したセレクターに応答するオブジェクトを探す必要があります...これは私のSecondaryWindowControllerであるはずですが、メニュー項目は無効になっています。私が間違っていることについて何か考えはありますか?

4

1 に答える 1

2

ウィンドウのデリゲート アウトレットをファイルの所有者 (私のウィンドウ コントローラー) に接続する必要があることがわかりました。次に、メニューが適切に自動検証され、メニュー項目が有効になります。

于 2011-10-10T20:35:40.027 に答える