我想在表單加載時設置焦點,但它在awakeFromNib中不起作用。NSTextField becomeFirstResponder在awakeFromNib中不起作用
[myTextField becomeFirstResponder];
我想在表單加載時設置焦點,但它在awakeFromNib中不起作用。NSTextField becomeFirstResponder在awakeFromNib中不起作用
[myTextField becomeFirstResponder];
- (BOOL) becomeFirstResponder
{
if (someCondition)
{
return NO;
}
BOOL retVal = [super becomeFirstResponder];
// do your stuff
return retVal;
}
只是引述apple docs:
Use the NSWindow makeFirstResponder: method, not this method, to make an object the first responder. Never invoke this method directly.
而是執行此操作:
[[myTextField window] makeFirstResponder:myTextField];
我做到了這一點,但不工作。 – user1628083
然後檢查myTextField是否爲NS,在你將它作爲你的第一個響應者NSLog(@「%@」,myTextField)之前,通過NSLogging它。 – TheAmateurProgrammer
作品。似乎在viewDidLoad或viewDidAppear控制器方法中工作。應該接受@ user1628083的回答。 – wcochran
雨燕版本這個問題:
textField.window?.makeFirstResponder(textField)
你是否在委託方法中嘗試過它,後來被稱爲'viewDidLoad'或'viewWillAppear'? – Pfitz
你可以發佈你的代碼的其餘部分,並檢查myTextField是不是零?現在您在報告一般問題時沒有足夠的代碼。 – Vervious