2012-05-31 16 views
5

मैं स्टोरीबोर्ड और आईओएस 5.1 के साथ शुरुआत कर रहा हूं। मैं जिस एप्लिकेशन का निर्माण कर रहा हूं वह नेविगेशन कंट्रोलर को रूट रूटर के रूप में उपयोग करता है, और इसे लैंडस्केप ओरिएंटेशन में इस्तेमाल करने के लिए डिज़ाइन किया गया है (यह एक इन-हाउस एंटरप्राइज़ एप्लिकेशन है)।स्टोरीबोर्ड का उपयोग करते हुए आईओएस 5 में यूआईवीव आईपैड डिवाइस रोटेशन पर सामग्री घुमाता नहीं है

मैंने एक एकल दृश्य बनाया, जो ठीक से काम करता है: जब सिम्युलेटर अभिविन्यास बदलता है तो सामग्री "दाएं तरफ" रहने के लिए ठीक से घूमती है।

मैंने फिर एक नया दृश्य जोड़ा, और वह बिल्कुल घूमता नहीं है; डिवाइस पोर्ट्रेट अभिविन्यास (और इस प्रकार किनारे पर है) में रहता है जब डिवाइस घुमाता है।

मैंने दो UIViewControllers और UIViews के लिए सेटिंग्स को देखा है, और उनके बीच कोई अंतर नहीं दिख रहा है। मुझे कोई विचार है कि मुझे कहां देखना चाहिए?

उत्तर

9

स्टोरीबोर्ड में प्रत्येक UIViewController के पहले एक वर्ग के साथ सोसाइटेड होना चाहिए। UIViewController से प्राप्त एक नई कक्षा बनाएं और फिर, स्टोरीबोर्ड में, uiviewcontroller पर क्लिक करें, और उस नियंत्रक के निचले हिस्से में, दाएं बॉक्स पर क्लिक करें और कक्षा निरीक्षक में, UIViewController को आपके द्वारा बनाए गए नए वर्ग के नाम से बदलें ।

फिर, यह सुनिश्चित करें कि हर दृश्य नियंत्रक वर्ग आपके द्वारा बनाए गए में, आप विधि

-(BOOL)shouldAutoRotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return YES; 
} 

बस हर दृश्य नियंत्रक में यस वापस जाने के लिए इस deleate विधि बनाने के लागू सुनिश्चित करें कि उनके सभी दृश्यों में बारी बारी से करने के लिए बनाने के कोई अभिविन्यास क्या आपने यह किया है?

+1

मुझे विश्वास नहीं है कि मैं इसे भूल गया; स्टोरीबोर्ड गर्मता से भी चमकीला ... धन्यवाद! – Christophe

+0

तकनीकी रूप से, आपके पास कभी भी दृश्य के लिए दृश्य नियंत्रक उप-वर्ग नहीं होना चाहिए, लेकिन आमतौर पर ऐसा होता है जो आप करते हैं। –

+2

ध्यान दें कि यदि आप एक्सकोड 4.5 का उपयोग कर रहे हैं लेकिन आईओएस 5.x पर तैनाती कर रहे हैं तो यह विधि अब UIViewController उपclasses में स्वत: जेनरेट नहीं की जाएगी (क्योंकि इसे आईओएस 6.x में अप्रचलित कर दिया गया है), इसलिए आपको मैन्युअल रूप से जोड़ना होगा यह आईओएस 5.1 के तहत चीजों को काम करने के लिए। –

0

इससे मुझे भी परेशान किया गया है। मेरा ऐप आईपैड सिम्युलेटर में घुमाया गया लेकिन वास्तविक आईपैड पर नहीं। काफी अजीब मेरे पास तीन टैब के साथ एक UITabBarController था। टैब बार में लगाए गए सभी तीन नियंत्रकों के पास विधि चाहिए AutoRotateToInterfaceOrientation, लेकिन उनमें से केवल दो (नेविगेशन नियंत्रक के माध्यम से ड्रिलिंग पर 5 चरणों बाद) नहीं था। मैंने उन तरीकों को भी जोड़ा है और अब यह घूमता है।

बस मेरी 2 ¢।