2016-05-25 12 views
0

を動作しません:のObjective-C:ローテーション方法は、私は回転のためにこれらのメソッドを実装していますが、彼らは動作しません

-(BOOL)shouldAutorotate { 
    return NO; 
} 

- (UIInterfaceOrientationMask)supportedInterfaceOrientations{ 
    return UIInterfaceOrientationMaskLandscape; 
} 

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation{ 
    return UIInterfaceOrientationLandscapeRight; 
} 

私が風景に一つだけのビューを強制的に回転をロックしたいのですが、アプリはこのメソッドをキャッチしない、と私は理由を知らない。どんな解決策ですか? youar appdelegateで

+0

あなたが回転させたくないビューは 'UINavigationController'に埋め込まれていますか? –

+0

はい、それは重要ですか? @BhavinRamani – David

+1

はい、私を助けたこのリンクを見てください:http://stackoverflow.com/questions/21216594/disable-rotation-for-view-controller-in-navigation-controller –

答えて

1

この方法を追加し、上記のコードで

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window 
{ 

    if ([self.window.rootViewController.presentedViewController isKindOfClass: [SecondViewController class]]) 
{ 
    return UIInterfaceOrientationMaskAll; // or UIInterfaceOrientationMaskLandscape for landscape and more you can set 
} 
    else return UIInterfaceOrientationMaskPortrait; 
} 

第2のビューコントローラは、風景の中に表示する希望の図です。

これは役に立ちます:)

関連する問題