我有此设置,我的NSWinow
有两个NSSearchFiled
s具有相对自动保存搜索记录,一个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];
没有运气,谷歌搜索也没有帮助......你帮助我吗?
答案 0 :(得分: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];