0

我有一个已编辑的 NSTextField。如果我按回车键,则按预期调用操作。

当我单击 NSTextField 之外的任何位置时,我希望获得相同的效果。辞职第一响应者可能是关键,但这仅在某些元素被单击/选择/聚焦时发生(例如另一个 NSTextField 或 NSTableView),而其他元素(例如 NSButton 或 NSSlider)不会发生。

可以使用 NSTextField 取消设置焦点,[[self window] makeFirstResponder:nil]但是在每个对象的操作中调用这条线太难看了。

有更好的解决方案吗?

4

1 回答 1

0

您将需要深入研究 Cocoa 事件处理指南。好好看看 NSResponder。许多对象继承自 NSResponder,包括 NSWindow 和 NSApplication。猜测您要完成的工作,在视图未聚焦时提交编辑,您可能还希望包括观察应用程序终止时的通知,进入后台等...

于 2013-01-20T09:38:21.467 回答