3

デバイスの方向付け方法の実装に問題があります。私はそれを次のように実装しています

続く

-(BOOL)shouldAutorotate{


    return TRUE;

    }

    -(NSUInteger)supportedInterfaceOrientations{

    return UIInterfaceOrientationMaskAll;

    }

appdelegateで私はやっています

self.window.rootViewController = self.splitViewController;

私は自分のアプリがすべての方向で機能することを望んでいます。しかし、オリエンテーションはどれも機能していません

何か助けはありますか?私のアプリはIOS4.3を対象としていますが、IOS5と6でも機能するはずです。

4

1 に答える 1

3

まず、AppDelegateでこれを記述します。これは非常に重要です

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

また、UIViewControllerがどのコントローラーに埋め込まれているかによって大きく異なります。

たとえば、その内部がUINavigationControllerの場合、このような方向付けメソッドをオーバーライドするには、そのUINavigationControllerをサブクラス化する必要がある場合があります。

サブクラス化されたUINavigationController(階層の最上位のビューコントローラーが方向を制御します)は、self.window.rootViewControllerとして設定する必要があります。

- (BOOL)shouldAutorotate
 {
     return self.topViewController.shouldAutorotate;
 }
 - (NSUInteger)supportedInterfaceOrientations
 {
     return self.topViewController.supportedInterfaceOrientations;
 }

iOS 6以降、UINavigationControllerはUIVIewControllersに方向のサポートを要求しません。したがって、それをサブクラス化する必要があります。

于 2012-10-09T11:39:47.047 に答える