NSTextField成为FirstFirstResponder在awakeFromNib中不起作用

use*_*083 7 cocoa objective-c ios

我想在表单加载时设置焦点,但它在awakeFromNib中不起作用.

[myTextField becomeFirstResponder];
Run Code Online (Sandbox Code Playgroud)

The*_*mer 23

只是引用苹果文档:

Use the NSWindow makeFirstResponder: method, not this method, to make an object the first responder. Never invoke this method directly.
Run Code Online (Sandbox Code Playgroud)

改为:

[[myTextField window] makeFirstResponder:myTextField];
Run Code Online (Sandbox Code Playgroud)


小智 -1

- (BOOL) becomeFirstResponder
 {
 if (someCondition)
 {
     return NO;
 }

 BOOL retVal = [super becomeFirstResponder];

 // do your stuff
 return retVal;
}
Run Code Online (Sandbox Code Playgroud)