【发布时间】:2013-10-28 22:29:34
【问题描述】:
我正在尝试这样做:
- (IBAction)textFieldSelected:(id)sender
{
printf("clicou no text\n");
}
我通过 Interface Builder 将它“连接”到我的 NSTextField。
当我第一次启动应用程序时,这个 NSTextField 已经聚焦。然后我点击第二个 NSTextField,我的第一个失去焦点,我得到了打印语句。在这些 NSTextField 之间来回单击,我看到当我单击未附加到它的 NSTextField 时才调用打印语句。我相信它只会在第一个失去焦点时发生。
Q1:当使用点击 NSTextField(当它获得焦点时)时,我该如何做这个打印语句?
Q2:如何避免应用启动时自动获取焦点?
【问题讨论】:
-
看看 NSTextFieldDelegate 的委托方法。 NSControlTextEditingDelegate.
-
control:textShouldBeginEditing: “当用户尝试在允许编辑文本的控件的单元格中输入字符时调用(例如文本字段或表单字段)。”这不是我的情况:/
-
您可以覆盖 (BOOL)becomeFirstResponder 并在其中发布通知。请务必返回 YES。
-
你是说每次点击这个视图都会调用这个方法?我认为应该只在初始化时调用此方法。
标签: objective-c macos cocoa nstextfield