0

在我的应用程序中,我得到了 2 UIViewControllers,第一个是根控制器,UINavigationController第二个由第一个通过推送到UINavigationController's堆栈调用。

所以第一个视图应该只在纵向,而第二个应该支持所有方向。

我首先写了这段代码:

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

但它仍然旋转到所有方向。为什么?

4

4 回答 4

0

我为UINavigationController. 它在这里描述

如何在 iOS 6 中强制 UIViewController 为纵向

于 2013-04-23T10:56:15.163 回答
0

我没有使用uinavigationcontroller,而是使用了presentmodalviewcontroller。这让我可以使用不同的方向管理。

于 2013-04-23T12:49:49.787 回答
0

我可以知道你使用的是什么IOS版本吗?IOS 6 不推荐使用此方法

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation

请检查以下 URL 投票的答案是您可能正在寻找的一些内容

ios 6 中的 UITabBarController 旋转问题

于 2013-04-23T09:40:58.497 回答
0

您执行此操作的最佳方法是将 APP 摘要中的支持方向更改为您喜欢的方向(纵向方向)。

在此处输入图像描述

然后您可以处理其他页面方向委托方法。

-(BOOL)shouldAutorotate{
return YES;

}

-(NSInteger)supportedInterfaceOrientations{ NSInteger 掩码 = 0; if ([self shouldAutorotateToInterfaceOrientation: UIInterfaceOrientationLandscapeRight]) 掩码 |= UIInterfaceOrientationMaskLandscapeRight; if ([self shouldAutorotateToInterfaceOrientation: UIInterfaceOrientationLandscapeLeft]) 掩码 |= UIInterfaceOrientationMaskLandscapeLeft; if ([self shouldAutorotateToInterfaceOrientation: UIInterfaceOrientationPortrait]) 掩码 |= UIInterfaceOrientationMaskPortrait; if ([self shouldAutorotateToInterfaceOrientation: UIInterfaceOrientationPortraitUpsideDown]) 掩码 |= UIInterfaceOrientationMaskPortraitUpsideDown; 返回掩码;}

于 2013-04-23T11:03:07.607 回答