2013-01-18 27 views
0

我有一個NSTextField已被編輯。如果我按Enter鍵,則按預期調用操作。調用NSTextField的動作發送時點擊ouside

我想在NSTextField之外的任何地方點擊時有同樣的效果。 Resigning First Responder可能是關鍵,但只有當某些元素被點擊/選擇/聚焦(例如另一個NSTextField或NSTableView)並且不會與其他人(例如NSButton或NSSlider)發生時纔會發生。

NSTextField焦點可以使用[[self window] makeFirstResponder:nil]取消設置,但在每個對象的操作中調用此行都太難看了。

有沒有更好的解決方案?

回答

0

您將需要深入研究Cocoa事件處理指南。 仔細查看NSResponder。 許多對象從NSResponder繼承,包括NSWindow和NSApplication。 猜測你試圖完成什麼,當視圖沒有焦點時進行編輯,你可能還希望在應用程序終止,進入後臺等時包括觀察通知...