Ian*_*n K 3 cocoa objective-c nsview nstextfield first-responder
我的最终目标是默认选择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?
我在CocoaDev.com上发现了一个可能有用的提示,尝试这样做:
[[[NSApplication sharedApplication] mainWindow]
performSelector: @selector(makeFirstResponder:)
withObject: firstBox
afterDelay:0.0];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2754 次 |
| 最近记录: |