0

この設定があります。相対的な自動保存検索履歴をNSWinow持つ2つのがあり、1つと1つです。NSSearchFiledNSTextFieldNSButton

NSSearchFiled検索を自動保存する必要があります(ユーザーが「Enter」キーを押すと正しく機能します )。NSTextField検証してユーザー設定に保存する必要があります(それによってaction)。

問題は、フォーカスを持っていて文字列NSSearchFiledをクリックしNSButtonても最近の文字列に自動保存されない場合、フォーカスを持ってNSTextFieldクリックするNSButtonと値が検証されず、ユーザー設定に保存されないことです...

NSButtonアクションでこれを試しました:

// SearchF_Name is of NSSearchFiled
[SearchF_Name sendAction:SearchF_Name.action to:SearchF_Name.target];

運が悪かったし、グーグルも役に立たなかった…コンあなたは私を助けてくれますか?

4

1 に答える 1

0

質問をした後、私は「最後のオプション」を試しました...そしてそれはうまくいきました!

これはのコードです- (IBAction)Btn_SearchAction:(id)sender

NSResponder *firstResponder = [[NSApp keyWindow] firstResponder];
if ([firstResponder isKindOfClass:[NSText class]] && [(NSText *)firstResponder delegate] == TextF_ResultLimit) {
    NSLog(@"SearchDelegate::Btn_SearchAction TextF_ResultLimit has focus, let's save it's value");
    [TextF_ResultLimit performClick:self];
}

NSLog(@"SearchDelegate::Btn_SearchAction SearchF_Name saving search value to recent history");
[SearchF_Name performClick:self];
于 2012-10-03T16:47:59.767 に答える