2010-04-16 9 views
5

मुझे एक आवश्यकता है जहां मेरे पास एक दृश्य क्षेत्र है। जब मैं टैब (टैबबेस एप्लिकेशन) स्विच करके दृश्य खोलना चाहता हूं, पहली बार दृश्य लोड होने पर कीबोर्ड दिखाई देता है क्योंकि मैं लोडव्यू विधि कहलाता हूं। लेकिन जब मैं टैब 2 पर स्विच करता हूं और फिर टैब 1 पर फिर से स्विच करता हूं, तो लोड दृश्य नहीं कहा जाता है। मैं टैब 1 पेज खोलने पर हर बार कुंजीपटल दिखाना चाहता हूं।दृश्य को पहले से लोड होने पर दिखाई देने वाले कीबोर्ड के साथ दृश्य को कैसे खोलें?

उत्तर

10

आपके विचार नियंत्रक में उपयोग -viewWillAppear: अपने टेक्स्ट फ़ील्ड में एक -becomeFirstResponder संदेश, जैसे भेजने के लिए:

- (void) viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 
    [myTextField becomeFirstResponder]; 
} 
+0

मैं एक ही बात किया है ... लेकिन ViewWillAppear विधि हर नहीं बुलाया जाता है ...... यहां कोड - (शून्य) viewWillAppear: (BOOL) एनिमेटेड { [सुपर व्यूविल्लएपियर: एनिमेटेड]; \t [searchForProduct बनें फर्स्ट रेस्पॉन्डर]; } कृपया –

+1

सहायता करें आपको कोड को काम करना चाहिए, मान लें कि सभी ऑब्जेक्ट्स तत्काल और वायर्ड हो गए हैं। '-viewWillAppear:' कहलाता है, यह सत्यापित करने के लिए 'NSLog' कथन जोड़ने का प्रयास करें। यह भी सुनिश्चित करें कि 'searchForProduct' 'nil' नहीं है और/या यदि आप अपने दृश्य के लिए इंटरफ़ेस बिल्डर का उपयोग कर रहे हैं तो यह ठीक से लगाया गया है। –

+0

searchForProduct जारी नहीं किया गया है .. इसमें स्मृति आवंटन शामिल है ... समस्या है ViewWillAppear विधि कभी नहीं कहा जाता है ... –

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

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