我有一个已编辑过的NSTextField。如果按Enter键,则按预期调用操作。
当我点击NSTextField之外的任何地方时,我希望产生相同的效果。辞职第一响应者可能是关键,但只有当某些元素被点击/选择/聚焦(例如另一个NSTextField或NSTableView)时才会发生,而其他元素不会发生(例如NSButton或NSSlider)。
可以使用[[self window] makeFirstResponder:nil]
取消设置NSTextField焦点,但在每个对象的操作中调用此行太难看了。
有更好的解决方案吗?
答案 0 :(得分:0)
您需要深入研究Cocoa事件处理指南。 好好看看NSResponder。 许多对象继承自NSResponder,包括NSWindow和NSApplication。 猜测你想要完成什么,在视图不在焦点时进行编辑,你可能还想在应用程序终止时进行观察通知,进入后台等等......