NSTextField 没有注意到失去对 NSWindow 关闭的关注
NSTextField not noticing lost focus on NSWindow close
我有几个 NSTextField 用于创建为 NSWindow 的对话框,并通过以下方式显示:
[NSApp runModalForWindow:dialog]
我的问题是,如果用户单击 NSTextField
,编辑值,然后单击对话框完成按钮关闭对话框:
[NSApp stopModal]
NSTextField
未获得任何指示编辑将结束或已经结束且值未保留的委托方法。
我宁愿不在以下方面持续坚持这些价值观:
controlTextDidChange:aNotification
我不清楚为什么如果 NSTextField 具有 firstResponder 状态,因为它正在被编辑,然后丢失它,为什么它没有获得任何委托方法。有没有其他方法可以检测到这一点。
解决这个问题的是改变这个:
[self resignFirstResponder];
对此:
[self makeFirstResponder:nil];
通过这样做,当前获得焦点的模态 window 上的文本字段得到了消息。我不确定为什么 resignFirstResponder 不起作用但将其设置为 nil doe,但你已经知道了。
我有几个 NSTextField 用于创建为 NSWindow 的对话框,并通过以下方式显示:
[NSApp runModalForWindow:dialog]
我的问题是,如果用户单击 NSTextField
,编辑值,然后单击对话框完成按钮关闭对话框:
[NSApp stopModal]
NSTextField
未获得任何指示编辑将结束或已经结束且值未保留的委托方法。
我宁愿不在以下方面持续坚持这些价值观:
controlTextDidChange:aNotification
我不清楚为什么如果 NSTextField 具有 firstResponder 状态,因为它正在被编辑,然后丢失它,为什么它没有获得任何委托方法。有没有其他方法可以检测到这一点。
解决这个问题的是改变这个:
[self resignFirstResponder];
对此:
[self makeFirstResponder:nil];
通过这样做,当前获得焦点的模态 window 上的文本字段得到了消息。我不确定为什么 resignFirstResponder 不起作用但将其设置为 nil doe,但你已经知道了。