objective-c - 如何找到哪个 NSTextfield 是焦点

标签 objective-c cocoa macos delegates nstextfield

我在确定焦点是哪个 NSTextfield 时遇到了问题。

我正在构建一个多语言表单,并有多个用于数据输入的 NSTextfield。我必须在数据输入期间更改一些 NSTextfields 的文本输入源,并且我需要它自动发生。

现在,我可以像我提到的那样更改文本输入源 here没问题。

我遇到的问题是在 NSTextfield 获得焦点时更改输入源。如果我使用 controlTextDidBeginEditing: 委托(delegate)方法,它会在输入第一个字母后更改源输入。 这意味着我输掉了用正确语言输入的第一个单词。

有委托(delegate)人找吗?

最佳答案

您可以子类化 NSTextField 并覆盖 - (BOOL)becomeFirstResponder (NSResponder) 以响应此类事件。

您也可以试试 control:textShouldBeginEditing:

关于objective-c - 如何找到哪个 NSTextfield 是焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6465080/

相关文章:

ios - 在swift中设置http方法时可以将字符串作为数据传递吗

cocoa - 在 Cocoa 中读取 plist 文件

Cocoa Accessibility API,我可以单击后台窗口而不激活它吗?

iphone - 使用 CocoaLumberjack 和 ZXingWidget 的架构 i386 的 undefined symbol

ios - 无法在 Mac 上创建 .p12?

objective-c - 使用 lldb 创建 Swift 类实例变量,而不是 Objective-C

ios - SDK开发中创建ManagetObjectModel返回nil

html - vw on osx 上限为 1440px?

cocoa - QTKit捕获API : How to implement video screen recording (as in Quicktime X Player)?

iphone - 如何在 iphone 中使用 DUKPT 和 3DES 算法为读卡器应用程序加密、解密数据?