0

こんにちは、タブ バー ベースのアプリケーションを使用しています。3 番目のタブをクリックすると、開いたビューにテーブルビュー ( AggregateMediaViewController) が表示されます。行の didSelect で、 を使用してビデオを開きMPMoviePlayerViewControllerます。デバイスの向きが変わるたびに、このビデオの向きを設定したいと思います。UITabbarController呼び出されたのサブクラスを作成しましたOrientationTabBarController

@implementation OrientationTabBarControllerViewController
- (BOOL)shouldAutorotate {
    NSLog(@"in shouldAutorotate tabbar is %@", self.viewControllers);

    return YES;
}

- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskPortrait;
}

appDidFifnishLaunching: [window setRootViewController:tabBarController]; ここで、tabBarController は OrientationTabBarController のサブクラスです。

AggregateMediaViewController には、次のコードがあります。

- (BOOL)shouldAutorotate
{
    NSLog(@"in shouldAutorotate of media");
    return YES;
}

-(NSInteger)supportedInterfaceOrientations {    
    return (UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight | UIInterfaceOrientationMaskPortraitUpsideDown);
}

しかし、アプリケーションを実行すると、オリエンテーションが機能しません:(助けてください

4

1 に答える 1

2

親コントローラーをサブクラス化し、の回転メソッドを追加する必要がありますUIViewController。あなたの場合、それはUITabBarControllerです。そして、appDelegateでrootViewControllerとして設定します。

[self.window setRootViewController:_myTabBarController];
于 2012-10-31T12:51:25.380 に答える