2014-05-22 44 views
5

Uygulamam başlangıçta her iki yönelim için destekleniyorsa, dikey yönlendirmeyi iOS 7'da zorlamak nasıl?Dikey yönlendirme nasıl zorlanır?

+1

Daha fazla açıklayamazsınız. Uygulamanın tümünde sadece portre moduna ihtiyacınız var mı? – morroko

+1

muhtemel çiftinin [Yatay görünüm denetçisinden bastırırken dikey yönde yönlendirmeye zorla] olası bir kopyası (http://stackoverflow.com/questions/14633213/force-portrait-orientation-while-pushing-from-landscape -gör-denetleyicisi) –

cevap

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

Bu kod, elma standartlarına göre değil, emin değil.Ama iyi bir kesmek. –

+0

Bu kodu kullandığımızda, uygulamamız üretim için Apple tarafından onaylanmayacaktır. –

+1

Bunun neden çalıştığını açıklayabilir misiniz, lütfen? Ayrıca, bu yöntemler iOS 6'da kullanımdan kaldırılmıştır. Apple'ın bunları iOS 8'de kaldırmaya karar vermesi mümkündür. Bir yöntem Apple tarafından ilk kullanımdan kaldırılmış ve kısa bir süre sonra kaldırılmıştır. – rtiago42

0

Kullanım sonrasında yaklaşım: uygulama temsilcinize olarak

@interface PlayWithWSWithLibAppDelegate : NSObject <UIApplicationDelegate, UITabBarControllerDelegate> { 

     BOOL flagOrientationAll; 
} 

@property (assign) BOOL flagOrientationAll; 

Ekle .h uygulama temsilci .m dosyasında yöntemle aşağıdaki

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

uygulayın, ister görünümde şekilde aşağıdaki hangi size iPhone cihazının hem portre hem de yatay olarak çevrilmesini istiyorsanız, her ikisi de

enter image description here

Veya: tüm uygulama için iOS 7 Interface Orientation

5

, proje dosyasını açmak Genel sekmesine gidin ayarlarını değiştirin: İşte bazı sorununuza benzer ya benim iplik

enter image description here

sadece bunu isterseniz: doğrudan Info.plist dosya üzerinde Belirli bir görünüm denetleyicisi, supportedInterfaceOrientations geçersiz:

- (NSUInteger)supportedInterfaceOrientations 
{ 
    return UIInterfaceOrientationMaskPortrait; 
} 

Sen resmi UIViewController documentation ikinci yöntemi hakkında daha fazla bilgi bulabilirsiniz. Belki de, özel probleminiz için daha uygun bir yol bulacaksınız.

+0

Basit ve doğru, ama - (BOOL) 'a dikkat edin AutoTotate yöntemi. Bu, geçersiz kılınmamalı veya EVET'i döndürmemelidir, aksi halde çalışmaz. – Moose

-2
#import <objc/message.h> 

objc_msgSend([UIDevice currentDevice], @selector(setOrientation:), UIInterfaceOrientationLandscapeRight);//here you may change your desired Orientation