2012-04-12 10 views
18

मेरे पास बहुत सारे दृश्य नियंत्रकों से बना एक ऐप है ... प्रोजेक्ट सारांश में मैंने पोर्ट्रेट अभिविन्यास को केवल समर्थित डिवाइस अभिविन्यास के रूप में सेट किया है।क्या आप आईओएस ऐप में वैश्विक रूप से रोटेशन को अक्षम कर सकते हैं?

हालांकि, ऐप अभी भी गड़बड़ हो जाने पर गड़बड़ हो जाता है।

मेरा सवाल है, क्या ऐप प्रतिनिधि या कुछ के माध्यम से विश्व स्तर पर ऑटोरोटेशन को अक्षम करने का कोई तरीका है?

या क्या मुझे अपने सभी दृश्य नियंत्रकों में जाना है और "shouldAutorotateToInterfaceOrientation" विधि जोड़ना है?

बस एक या कुछ और करने के लिए इसे जोड़ने ...

धन्यवाद याद नहीं चाहता!

+1

ऐसा कुछ समय हो गया है जब से मैंने आईओएस किया है, लेकिन क्या आप ऐप प्लिस्ट में कुछ नहीं डाल सकते हैं? "समर्थित उन्मुखता" या ऐसा कुछ के बारे में कुछ? –

उत्तर

6
रूट दृश्य नियंत्रक की विधि में

:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
// Return YES for supported orientations 
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown); 
} 

सेट की वापसी नहीं ';

यह सभी दृश्यों के लिए करना चाहिए।

+4

यह मेरे लिए काम नहीं किया –

67

Info.plist में "समर्थित इंटरफ़ेस उन्मुखताएं" का विस्तार करें और अपने एप्लिकेशन को केवल पोर्ट्रेट मोड में चलाने के लिए लैंडस्केप आइटम हटा दें।

12

UIViewController के shouldAutorotate और supportedInterfaceOrientation विधियों में सेट करने के लिए संघर्ष करने के बाद, आईओएस 6 में कोई सफलता नहीं होने के कारण, मुझे यह पता चला कि इसे ऐप प्रतिनिधि में सेट करना सबसे प्रभावी है।

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window 
{ 
    return UIInterfaceOrientationMaskPortrait; 
} 

हालांकि UIInterfaceOrientationMaskPortraitUpsideDown लौटने से मेरा ऐप क्रैश हो रहा था। मैं नहीं जानता कि मैं क्या गलत कर रहा था!

+2

यह आईओएस 8 के लिए भी काम करता है। ऐप की 'Info.plist' फ़ाइल –

8

info.plist में अभी तीन प्रकार की डिवाइस अभिविन्यास कुंजी हैं।

  1. समर्थित इंटरफ़ेस झुकाव (आईपैड)
  2. समर्थित इंटरफ़ेस झुकाव (iPhone)
  3. समर्थित इंटरफ़ेस झुकाव

तीसरा एक मैं गैर सार्वभौमिक क्षुधा के लिए लगता है और आराम दो ऊपर iPad के लिए कर रहे हैं और आईफोन।

आपको उन्हें आज़माएं।

enter image description here

+0

धन्यवाद में समर्थित समर्थित इंटरफ़ेस अभिविन्यास सेटिंग के साथ संयोजन में मेरे लिए पूरी तरह से काम किया। आईफोन और आईपैड दोनों के लिए चित्र को मजबूर करने के लिए मुझे केवल यही एक चीज है। –

0

हारिस हुसैन के जवाब अब पदावनत किया जाना है, आईओएस 6 के रूप में प्रकट होता है, लेकिन वहाँ नए तरीकों को सीमित/रोटेशन को सक्षम करने के लिए उपलब्ध हैं।

यहाँ UIViewController शीर्षक में सूचीबद्ध तरीके हैं:

// New Autorotation support. 
- (BOOL)shouldAutorotate NS_AVAILABLE_IOS(6_0); 
- (UIInterfaceOrientationMask)supportedInterfaceOrientations NS_AVAILABLE_IOS(6_0); 
// Returns interface orientation masks. 
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation NS_AVAILABLE_IOS(6_0); 

ध्यान दें कि shouldAutoRotate काम करने के लिए प्रतीत नहीं होता है अगर आप एक पहले से ही राज्य घुमाया में एप्लिकेशन शुरू!

0

यदि आप आईपैड का समर्थन कर रहे हैं, तो आपको लैंडस्केप ओरिएंटेशन को अनचेक नहीं करना चाहिए, क्योंकि यह ऐप स्टोर पर ऐप्पल द्वारा आपके ऐप को स्वीकार करने से रोक देगा।

घूर्णन से पहले एप्लिकेशन को आपके पहले स्क्रीन से पता चलता बचने के लिए अपना AppDelegate.m

इस विधि काम करती है और इसके बाद के संस्करण आईओएस 7.1 में परीक्षण के अंदर इस डाल दिया।

// G - fix for ipad. 
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window 
{ 
    return UIInterfaceOrientationMaskPortrait; 
} 
संबंधित मुद्दे

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