1

整个应用只支持纵向,只播放视频需要支持所有方向。该应用程序在 iOS < 6.0 上以完全纵向模式完美运行,现在由于需要支持MPMoviePlayerViewControlleriOS 6.0 的(要播放的视频)的自动旋转方向,我已经搜索了很多东西,我得到了下面解决方案,所以我在我的应用程序中应用了这些解决方案,

1)支持plist或targets中的所有方向

2)为纵向支持添加以下方向功能

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

- (BOOL)shouldAutorotate
{
    return NO;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return UIInterfaceOrientationPortrait;
}

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;
}

3) 重写 MPMoviePlayerViewController 类,并添加所有合适的定向方法来支持。

4) 将以下方法放入 AppDelegate 文件中,如果找到MPMoviePlayerViewController.

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

但最后,没有成功!- 我无法在横向模式下播放视频,整个应用程序只支持纵向。

我不知道为什么它不旋转?有什么我想设置的吗?

4

1 回答 1

0

我最近不得不在我开发的一个应用程序中做相反的事情,我不得不强制视频播放仅以横向模式出现。我所做的是让我的应用程序支持所有方向,而是覆盖我的 mpMoviePlayerViewsshouldAutorotateToInterfaceOrientation方法以仅对横向返回 YES。

既然你想做相反的事情,那么在你的应用程序中同时允许肖像和风景如何 - 但将你的常规视图限制为仅肖像?(从而避免您的问题以允许您的 mpmovieplayerview 旋转)我认为应该可以创建一个父(视图)类,您的常规视图可以从中继承,并且在您的父类中只需覆盖shouldAutorotateToInterfaceOrientation以仅支持/返回 YES for potrait模式。

于 2013-02-23T13:40:07.630 回答