2012-09-17 13 views
7

मैं फॉर्म लोड करते समय फोकस सेट करना चाहता हूं लेकिन यह जागने में काम नहीं करता है FromNib।NSTextField बन गया फर्स्ट रेस्पॉन्डर जागने में काम नहीं करता है FromNib

[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 इसे एनएलएलॉगिंग द्वारा शून्य है, इससे पहले कि आप इसे अपना पहला उत्तरदाता 'NSLog (@ "% @", myTextField) बना लें; – TheAmateurProgrammer

+0

काम करता है। किसी भी दृश्य में काम करने के लिए लगता है DidLoad या ViewDidAppear नियंत्रक विधियों। @ user1628083 उत्तर स्वीकार किया जाना चाहिए। – wcochran

0

इस सवाल का स्विफ्ट संस्करण:

textField.window?.makeFirstResponder(textField) 
संबंधित मुद्दे

 संबंधित मुद्दे