gpt4 book ai didi

ios - iOS 6 中的模态视图 Controller 强制横向方向

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

我有一个以纵向模式显示的 UITabBarController。在其中一个选项卡上,我有一个按钮,它以模态方式显示 UIViewController(一个简单的 Storyboard segue 执行该操作)。

我想让这个模态视图以横向模式显示,但我无法让它自动转动。

我在模态视图 Controller 中有这个

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

我已经将 landscapeLeft 添加到 .plist 支持的方向(尽管这也允许 TabBar 旋转,但我不希望这样做)

我还把它添加到模态视图的 ViewDidLoad

[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeLeft;

但我无法让它自己旋转。

谢谢

编辑----

似乎 shouldAutoRotate 甚至都没有被调用!

此外,我正在尝试检测方向,下面的代码始终显示 2,无论方向如何!

if ([[UIDevice currentDevice] orientation] == UIInterfaceOrientationPortrait) {
NSLog(@"1");
self.hostView.frame = CGRectMake(0, 60, 200, 255);
} else {
NSLog(@"2");
self.hostView.frame = CGRectMake(0, 45, 480, 255);
}

编辑 2 ---

我的错。我想我应该提到我使用的是 iOS 6。显示在 iOS 5 上自动旋转。shouldAutorotateToInterfaceOrientation 已弃用,因此我需要阅读新方法。

最佳答案

iOS 6.0 Release Notes
"More responsibility is moving to the app and the app delegate. Now, iOS containers (such as UINavigationController) do not consult their children to determine whether they should autorotate. "

-(BOOL)shouldAutorotate 任何 Container 下的 UIViewController(比如 UINavigationController)不会被 IOS6 调用。

尝试使用类别将方法添加到现有 UINavigationController 类的解决方案。

shouldAutorotate 方法中,您可以在self.viewControllers 的每个 View Controller 中调用shouldAutorotate 方法。事实上,您可以传递给您的 subview Controller 。

关于ios - iOS 6 中的模态视图 Controller 强制横向方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12060534/

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