我的最终目标是默认选择NSTextField,允许用户在不首先单击文本字段的情况下开始输入.
我有一个由NSViewController控制的视图.该视图包含多个文本字段.NSView和NSWindow都是自定义子类.文本字段不是子类.只是一个标准的NSTextField.
在视图控制器的awakeFromNIB里面我有代码:
[[[NSApplication sharedApplication] mainWindow] makeFirstResponder:firstBox];
NSLog(@"%@",NSStringFromClass([[[[NSApplication sharedApplication] mainWindow] firstResponder] class]));
Run Code Online (Sandbox Code Playgroud)
文本字段围绕它获得一个焦点环,并且NSLog打印出第一个响应者是NSTextField但我仍然必须在文本字段内单击才能开始输入.
什么可能导致该领域成为第一响应者但不可编辑?有没有更好的方法我应该调用makeFirstResponder?