2011-12-12 2 views
7

मेरे विचार नियंत्रकों के सभी मेरे अपने BaseViewController का विस्तार: UIViewController, और इस में मैंरोक iOS5 जीवन चक्र ईवेंट अपने आप बुलाया जा रहा है

- (BOOL)automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers { 
    return NO; 
} 
हालांकि

, iOS 5 सिम्युलेटर इस उपेक्षा का फैसला किया है अधिरोहित और कॉल करने के लिए जारी किया है मेरी मेरे घोंसले UIViewController पदानुक्रम पर viewWillAppear आदि विधियों।

मैंने एक और प्रोजेक्ट में ऐसा किया है और यह ठीक काम करता है। क्या मुझे कुछ सुनने के लिए याद आ रही है?

उत्तर

4

बाहर कर देता है तो आप भी इस विधि का भी उपयोग करने के लिए:

[self addChildViewController:_browserViewController]; 
[browserView addSubview:_browserViewController.view]; 
[_browserViewController didMoveToParentViewController:self]; 

..और automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers

से नहीं लौटने ... यह बंद हो जाता है: ऐसा करने से तो

UIViewController addChildViewController 

दृश्य जीवन चक्र विधियों को दो बार बुलाया जा रहा है। आप स्वत: कॉल अपने नेस्टेड दृश्य नियंत्रकों को नहीं मिलेगा - -

+1

तो कुछ है कि दोनों आईओएस में काम करता है 4 और 5 – pottedmeat

+0

ठीक है, आप आईओएस 4 चला रहे हैं बनाने के लिए समाधान क्या है तो आप की जरूरत नहीं है चीजों को दो बार बुलाया जा रहा है। UIViewController कंटेनर पदानुक्रम केवल आईओएस 5 में पेश किया गया था। आप आईओएस 4 ऐप्स को हमेशा काम करना चाहिए जैसा उन्होंने हमेशा किया था। बस अपरिभाषित चयनकर्ताओं को कॉल करने के लिए देखें जो बाद में आईओएस संस्करणों के लिए नए हैं। – bandejapaisa

+0

तो जवाब यह है कि आपको यह पूछना है कि क्या उदाहरण '-addChildViewController:' और '-didMoveToParentViewController: 'कॉल करने से पहले विधियों का जवाब दे सकता है? – pottedmeat

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