2012-09-17 41 views
7

我想在表單加載時設置焦點,但它在awakeFromNib中不起作用。NSTextField becomeFirstResponder在awakeFromNib中不起作用

[myTextField becomeFirstResponder]; 
+0

你是否在委託方法中嘗試過它,後來被稱爲'viewDidLoad'或'viewWillAppear'? – Pfitz

+0

你可以發佈你的代碼的其餘部分,並檢查myTextField是不是零?現在您在報告一般問題時沒有足夠的代碼。 – Vervious

回答

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

BOOL retVal = [super becomeFirstResponder]; 

// do your stuff 
return retVal; 
} 
20

只是引述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]; 
+0

我做到了這一點,但不工作。 – user1628083

+0

然後檢查myTextField是否爲NS,在你將它作爲你的第一個響應者NSLog(@「%@」,myTextField)之前,通過NSLogging它。 – TheAmateurProgrammer

+0

作品。似乎在viewDidLoad或viewDidAppear控制器方法中工作。應該接受@ user1628083的回答。 – wcochran

0

雨燕版本這個問題:

textField.window?.makeFirstResponder(textField) 
相關問題