1

Xcodeを使用してiPhone用に開発されたアプリがあり、ビューコントローラーを縦向きモードで回転を有効にして表示します。

私のテーブル ビューには、モーダル モードで新しいビュー コントローラー (iPhoneSignVC) をトリガーするセルがあります。私の質問は...

最初から新しいモーダル ビュー コントローラーの向きを決定する方法はありますか?? つまり...新しいView Controllerをランドスケープモードにし、その特定のviewControllerで画面回転機能をアクティブにしないようにしたい

これまでのところ、UINavigationコントローラーのクラスを上書きする新しいクラスを作成することでした

#import "UINavigationController.h"
#import "iPhoneSignVC.h"

@implementation UINavigationController (overrides)

- (BOOL)shouldAutorotate
{
    id currentViewController = self.topViewController;

    if ([currentViewController isKindOfClass:[iPhoneSignVC class]])
        return NO;


    return YES;
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    id currentViewController = self.topViewController;

    if ([currentViewController isKindOfClass:[iPhoneSignVC class]]){
        return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
    }

    return (interfaceOrientation == UIInterfaceOrientationMaskAll);
}


@end

私は成功せずにこれを試しました...

ご支援いただきありがとうございます。

4

2 に答える 2

1

基盤となる OS に応じて、これには複数の考慮事項があります。この非常に包括的な質問この解決策を確認してください。

于 2013-09-05T23:11:25.727 に答える