MPMoviePlayerViewController不使用tabbar在景观中旋转

时间:2010-10-24 10:18:57

标签: iphone mpmoviewcontroller

我在tabbar应用程序中使用MPMoviePlayerViewController显示视频,视频在纵向模式下播放正常但在横向模式下不旋转。

相同的代码在没有tabbar的另一个项目中正常工作。

我试图将autoresizingmask强制为flexibleWidth和flexibleHeight,但没有成功。

如果我在shouldAutorotateToInterfaceOrientation中返回YES,则状态栏会旋转但不会影响电影界面。

    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return YES;
}

    -(IBAction) showFamilleMovie {
     NSString *videoURL = [[NSBundle mainBundle] 
            pathForResource:@"film1" 
            ofType:@"mp4"];

     MPMoviePlayerViewController* theMoviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL fileURLWithPath:videoURL]];
        theMoviePlayer.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
     [self presentMoviePlayerViewControllerAnimated:theMoviePlayer];

    }

您知道该项目的来源吗?

谢谢, 文森特

2 个答案:

答案 0 :(得分:1)

你可以尝试:

 [yourTabbarController presentModalViewController: theMoviePlayer]

应该允许MoviePlayer旋转。

答案 1 :(得分:1)

我遇到了同样的问题,代码杀手就是我的appDelegate代码中添加了一个视图。它没有让玩家正确旋转。

我的问题是:要实现FBConnect库,您需要在appDelegate中添加一个视图,以获取您正在使用handleOpenURL方法的FB控制器类的对象(当auth完成时从Safari返回)和控制回调。我花了一个小时,直到我意识到这个视图阻止了旋转。

BTW,不关心标签栏。即使您没有添加shouldAutorotateToInterfaceOrientation方法,播放器也应该正确旋转。