私はウィンドウを作成しますNSSplitview
。viewAとviewBの2つのサブビューがあり、いくつかのサブビューがあります。viewAまたはそのサブビューにフォーカスがある場合は、ウィンドウのタイトルをviewAのstringValueとして設定し、viewBをそのように設定します。
どうすればいいですか?ビューを書き直そうとしています
なる/アクセス/reignFirstResponser
viewA / BまたはそのsubView(a NSTableView
)の場合ですが、失敗します。
e、tablviewでbecomeFirstresponseをオーバーライドするものをもう一度試してみます
BOOL ret = [super becomeFirstResponder];
[NSApp sendAction:@selector(requestString:) to:Nil from:self.window.windowController];
return ret;
できます!しかし、コーディングでは、追加されている間に新しいサブビューが表示されます。だから私はもっと賢くて明確な方法が必要です。
わかった!ウィンドウデリゲートでは、windowDidUpdateを次のように実装します。
- (void)windowDidUpdate:(NSNotification *)notification {
[NSApp sendAction:@selector(requestString:) to:Nil from:self.window.windowController];
}
-(IBAction)requestString:(id)senderメソッドは、viewA/BのControllerメソッドです。