objective-c - NSTextView - 如何检测何时单击?

标签 objective-c macos cocoa nstextfield

我正在尝试这样做:

- (IBAction)textFieldSelected:(id)sender
{
    printf("clicou no text\n");
}

我通过 Interface Builder 将其“连接”到我的 NSTextField。

当我第一次启动应用程序时,此 NSTextField 已经获得焦点。然后我单击第二个 NSTextField,第一个 NSTextField 失去焦点并得到打印语句。在这些 NSTextField 之间来回单击,我发现当我单击未附加到它的 NSTextField 时,只是调用了打印语句。我相信它只会在第一个失去焦点时发生。

问题1:当用户点击NSTextField(当它获得焦点时)时,如何才能得到这个打印语句?

Q2:如何避免应用启动时自动获得焦点?

最佳答案

创建 NSTextfield 的自定义类,然后实现以下方法,以便每当焦点转到文本字段时都会调用以下方法:-

   -(Bool)becomeFirstResponder{
     return YES}

关于objective-c - NSTextView - 如何检测何时单击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19612873/

相关文章:

iphone - Interface Builder 与 iPhone 上显示的内容对比

c++ - 当可插入的 Cocoa 应用程序仅公开 C++ API 时,如何在插件中显示一个窗口?

ios - textFieldShouldBeginEditing 没有响应

objective-c - 如何在 Mac OSX 的 objective c 中获取和设置壁纸?

c++ - 程序可以在 Mac 上编译,但不能在 Linux 上编译。获取错误 : converting to from initializer list

Ruby/Cucumber - 'puts' 引起麻烦

swift - cocoa NSScrollView 不滚动

objective-c - 等待用户关闭窗口从 NSTextField 获取值 - Cocoa

ios - 允许编辑时 UIImagePickerController 显示错误裁剪

ios - 在 Xcode 版本 11.5 (11E608c) 中为 Release模式构建时找不到“FirebaseCore/FirebaseCore.h”文件