0

目前,在我的应用程序中,我需要不允许出现侧向,除了一个视图应该在用户侧向时显示另一个 uiview。假设我有 20 个 UIViewControllers 允许从 mainviewcontroller (UINavigationController) 访问。现在,还假设 UIViewController #7 在显示时有两个视图,一个显示为侧向,一个显示为纵向。我不希望你们认为我想在应用程序的整个生命周期中消除旋转方向,但只是为了 19 个视图,最后一个 uiviewcontroller 支持它。

如果用户对那个视图进行了侧向定向,那么用户应该像往常一样看到应用程序,没有定向效果。

我希望用户只使用纵向视图,这就是那个视图控制器。也许如果用户将手机旋转 180 度,倒置,那么可以肯定,应用程序应该翻转但仍处于纵向视图中。

有人有想法么?我正在部署到 iOS 6.1,所以我使用的一些方法已被弃用,这是我想要远离的......

比如这个方法:

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

我做了几个测试用例:

- (NSUInteger) supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return UIInterfaceOrientationPortrait;
}

- (BOOL) shouldAutorotate{
    return NO;
}

我还检查了与 stackoverflow 相关的问题,但我不能简单地找到答案。

我认为这应该是我覆盖的一种可能两种方法,但我不能这样做.....如何消除 UIViewController 中的侧面方向????

4

1 回答 1

0

有关于 SO 的问题涵盖了这个主题;例如,这里有大量信息。

或者,这个这个怎么样?

IIRC,从我观看的关于这个主题的一个 WWDC 视频中,推荐的方法是进行模态演示,但如果您愿意,可以使用各种技巧。

编辑:

更多数据在这里:iOS6 首选界面方向不起作用

在这里:在 iOS6 中,当推送到堆栈时,无法强制 ViewController 到某个 interfaceOrientation

正如我所说,如果您想强制定向,我相信呈现视图控制器(模态或诸如此类)是要走的路,请参阅解释。

于 2013-07-06T01:12:53.973 回答