NSTextField 验证和 NSSearchField 将其价值保存到 NSButton 单击上的最近历史记录中



>我有这个设置,我的NSWinow有两个NSSearchFiled,具有相对自动保存搜索历史,一个NSTextField和一个NSButton

NSSearchFiled必须自动保存搜索(当用户按"Enter"键时,工作正常) NSTextField需要验证并保存到用户首选项(通过它的action)。

问题是,如果我专注于NSSearchFiled并单击NSButton字符串不会自动保存到最近的字符串,如果我专注于NSTextField并单击NSButton该值未验证并保存到用户首选项...

我已经在NSButton操作中尝试过这个:

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

没有运气,谷歌搜索也无济于事...骗子你帮我?

问完问题后,我尝试了"最后一个选项"......它奏效了!

这是- (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];

最新更新