具体来说,我希望在 NSTextField
获得焦点时或在用户点击它并准备开始编辑时收到通知。
我已经尝试过 textDidBeginEditing:
方法,但这只会在用户实际开始输入时触发,而当文本字段成为第一响应者时我需要它。
我已经尝试覆盖 -(BOOL)becomeFirstResponder
但只有当文本字段 first 成为第一响应者而不是任何响应者时才会调用之后的时间。
我已经尝试注册 NSControlDidBeginEditing
通知,但从未收到任何通知。
这可能吗?
最佳答案
实现窗口的委托(delegate)方法windowWillReturnFieldEditor:toObject:
.这告诉您字段编辑器正在切换到不同的对象。查看此对象是否为文本字段。
或者,继承 NSWindow 并覆盖 makeFirstResponder:
.调用super
,查看哪个responder正在成为first responder,调用super
是否返回YES,将调用结果返回给super
.
关于objective-c - 检测 NSTextField 何时变为事件状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34840914/