2014-05-22 15 views
5

iOS 7 में पोर्ट्रेट अभिविन्यास को कैसे मजबूर करें यदि मेरा एप्लिकेशन प्रारंभिक रूप से दोनों ओरिएंटेशन के लिए समर्थित है? बाद दृष्टिकोणपोर्ट्रेट अभिविन्यास को कैसे मजबूर करें?

+1

आप स्पष्ट नहीं कर सकते हैं। क्या आपको पूरे ऐप – morroko

+1

में केवल पोर्ट्रेट मोड की आवश्यकता है [लैंडस्केप देखें ओरिएंटलर से पुश करते समय फोर्स पोर्ट्रेट ओरिएंटेशन] (http://stackoverflow.com/questions/14633213/force-portrait-orientation-while-pushing-from-landscape -व्यू-नियंत्रक) –

उत्तर

2
UIViewController *c = [[UIViewController alloc]init]; 
[self presentViewController:c animated:NO completion:nil]; 
[self dismissViewControllerAnimated:NO completion:nil]; 
+0

यह कोड सेब के मानक के अनुसार नहीं हो सकता है, यकीन नहीं है .. लेकिन यह अच्छा हैक। –

+0

जब हम इस कोड का उपयोग करते हैं तो हमारे ऐप को ऐप्पल द्वारा उत्पादन के लिए अनुमोदित नहीं किया जाएगा। –

+1

क्या आप समझा सकते हैं कि यह क्यों काम करता है, कृपया? साथ ही, उन तरीकों को आईओएस 6 में बहिष्कृत कर दिया गया था। यह संभव है कि ऐप्पल आईओएस 8 में उन्हें हटाने का फैसला करता है। यह पहली बार नहीं होगा जब ऐप्पल द्वारा एक विधि को हटा दिया गया और जल्द ही हटा दिया गया। – rtiago42

0

उपयोग: अपने अनुप्रयोग प्रतिनिधि में ज

@interface PlayWithWSWithLibAppDelegate : NSObject <UIApplicationDelegate, UITabBarControllerDelegate> { 

     BOOL flagOrientationAll; 
} 

@property (assign) BOOL flagOrientationAll; 

जोड़ें अपने अनुप्रयोग प्रतिनिधि मीटर फ़ाइल में विधि निम्नलिखित

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{ 
    //NSLog(@"PlayWithWSWithLibAppDelegate -- supportedInterfaceOrientationsForWindow"); 
    if(flagOrientationAll == YES){ 
     return UIInterfaceOrientationMaskPortrait; 
    } else { 
     return UIInterfaceOrientationMaskAll; 
    } 
} 

लागू आपके ध्यान में रखते हुए जिस तरह से निम्नलिखित आप जो आईफोन डिवाइस

दोनों के लिए पोर्ट्रेट और परिदृश्य दोनों में घूमना चाहते हैं

यहाँ मेरी धागा है कुछ तुम्हारी समस्या क्या के समान: iOS 7 Interface Orientation

5

पूरे एप्लिकेशन के लिए, परियोजना फ़ाइल को खोलने, सामान्य टैब पर जाएं, सेटिंग में बदलाव:

enter image description here

या

enter image description here

आप केवल उस पर चाहते हैं: सीधे Info.plist फ़ाइल पर एक विशेष दृश्य नियंत्रक, ओवरराइड supportedInterfaceOrientations:

- (NSUInteger)supportedInterfaceOrientations 
{ 
    return UIInterfaceOrientationMaskPortrait; 
} 

आप आधिकारिक UIViewController documentation में दूसरी विधि के बारे में अधिक पढ़ सकते हैं। शायद, आपको अपनी विशिष्ट समस्या के लिए एक और अधिक उपयुक्त तरीका मिल जाएगा।

+0

सरल और दाएं, लेकिन - (BOOL) चाहिएऑटोरोटेट विधि। इसे ओवरराइड नहीं किया जाना चाहिए, या हाँ वापस नहीं करना चाहिए, अन्यथा यह काम नहीं करेगा। – Moose

-2
#import <objc/message.h> 

objc_msgSend([UIDevice currentDevice], @selector(setOrientation:), UIInterfaceOrientationLandscapeRight);//here you may change your desired Orientation 
संबंधित मुद्दे