gpt4 book ai didi

iphone - 在 iOS6 中,在将 ViewController 压入堆栈时无法将其强制为特定的界面方向

转载 作者:可可西里 更新时间:2023-11-01 03:06:01 26 4
gpt4 key购买 nike

我设置了以下 View Controller :

viewController1 可以自由旋转到任何方向,除了纵向颠倒。

viewController2 被推到 viewController1 之上,我希望它与 viewController1 的方向相同,我希望它不能旋转。

viewController3 被推到 viewController2 之上。我希望 viewController3 处于纵向模式。

我在尝试在 iOS6 中完成此操作时遇到了很多问题(尚未在 iOS5 中尝试过)。首先,我已经创建了自己的导航 Controller 并将以下内容放入其中:

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return [self.topViewController preferredInterfaceOrientationForPresentation];
}

- (NSUInteger)supportedInterfaceOrientations
{
return [self.topViewController supportedInterfaceOrientations];
}

- (BOOL) shouldAutorotate
{
return [self.topViewController shouldAutorotate];
}

我已经尝试了很多这些东西的不同组合以了解其有效性。主要是我挣扎的地方是如果 vc2 处于横向状态,则强制将 vc3 显示为纵向。任何帮助将不胜感激。

最佳答案

您在这里尝试做的是与框架作斗争。您所描述的根本不是导航 Controller 架构在 iOS 6 中的工作方式。如果您想显示 View Controller 的 View 并强制旋转,请使用呈现的 View Controller 。这是唯一一次 preferredInterfaceOrientationForPresentation 有意义的时候,你的 View Controller 的 supportedInterfaceOrientations 将被实际查询,因为在呈现时,它将位于界面的根部。

关于iphone - 在 iOS6 中,在将 ViewController 压入堆栈时无法将其强制为特定的界面方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15300819/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com