2

我有一个非常烦人的问题,我已经为此奋斗了好几个小时。我有一个仅以纵向运行的应用程序,但是当我播放视频时,我希望它以横向播放。

从我读到的解决方法是更改​​ Info.plist 以允许横向右、左和纵向,然后遍历所有 viewController 并放入以下代码

- (BOOL)shouldAutorotate {
    return NO;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return UIInterfaceOrientationPortrait;
}
- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskPortrait;
}

//ios4 and ios5
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

问题是它似乎根本没有被调用,因为在运行应用程序时仍然允许自由旋转。

谁能想到可能导致这个问题的东西?

我不知道这是否值得一提,但我正在运行最新的 xcode 5 测试版并在我的 iPhone 5 上运行 ios 7。

非常感谢。卢克

4

1 回答 1

2

我有一个类似的问题。就我而言,我希望我的所有应用程序都处于纵向,除了 1 UINavigationController。这就是我解决它的方法:

我有一个以 UItabBarController 作为根的应用程序。我的 5 个选项卡中的每一个都嵌入在 UINavigationController 中……这似乎是问题所在。所以,我所做的是

1-您必须在“部署信息”中允许所有“设备方向”

2- 我为我的 UITabBarController 创建了一个自定义类。

3- 在其中的 .m 中,我添加了以下代码:

- (BOOL)shouldAutorotate {
return YES;}

- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait; }

4- 然后,在 UIViewController 我想要与众不同,我在 .m 中添加了以下代码:

- (BOOL)shouldAutorotate {
return YES; }

 - (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskAll; }

等等瞧!

希望这可以帮助。

康拉德

于 2013-09-27T11:48:41.040 回答