状态栏旋转,但应用程序不旋转,在 iPhone 上 - 在 iPad 上工作正常?

Posted

技术标签:

【中文标题】状态栏旋转,但应用程序不旋转,在 iPhone 上 - 在 iPad 上工作正常?【英文标题】:Status bar rotates but application does not, on iPhone- works fine on iPad? 【发布时间】:2014-11-17 19:17:48 【问题描述】:

潜伏已久,一直很努力的去搜索,通过这种方式找到了很多答案。这是我第一次没有发现任何东西可以解决我的问题。这也是我的第一个独立应用,因为我是一名新开发者。

我有两台设备——ios 8.1 iPhone 6 和 iOS 7 iPad Mini Retina 2。

我正在构建我的第一个 iOS 应用。它为具有三个选项卡的 UITabBarController 使用故事板,每个选项卡都包含一个 UINavigationController 和一个自定义子视图控制器(例如 tabbarcontroller 或 collectionviewcontroller 的子类)。

在部署信息下: 部署目标设置为 7.0 和通用。 iPhone 和 iPad 都使用 MainStoryboard 主界面,并检查了所有四个设备方向。

我的 AppDelegate 开头为:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:[NSBundle mainBundle]];

UITabBarController *initViewController = (UITabBarController *)[storyboard instantiateViewControllerWithIdentifier:@"rootTabBarController"];

NSLog(@"%d %d",initViewController.shouldAutorotate,initViewController.shouldAutomaticallyForwardRotationMethods);

[self.window setRootViewController:initViewController];

注意 NSLog;它打印“1 0”。

所以从我所见 - 标签栏应该自动旋转。

在我的 iPhone 上,当我将设备侧向转动时,顶部的状态栏会旋转 - 但内容保持直立。如果我按下主页按钮并在侧向按住它的同时切换回应用程序,一切都会变得不稳定 - 内容会旋转但不会重新排列布局,因此它保持垂直,因此会被切断并且屏幕上有一个很大的黑色部分一边。

不过,在我的 iPad 上,一切正常!应用程序按预期旋转并自行调整大小。

我在这里做错了什么?非常感谢您的帮助。

【问题讨论】:

为什么要以编程方式加载情节提要?如果没有特别需要这样做,我建议只使用模板应用程序委托代码。更好的是,创建一个全新的项目,然后复制您的故事板。这不一定有意义,但是……我敢打赌它会起作用! :-) 抱歉这么晚才回复!我看到了您的评论并尝试删除应用程序委托中的所有代码,并且成功了,非常感谢!我最初以编程方式启动应用程序加载所有内容,然后决定尝试一个故事板。我不确定如何进行“切换”,所以我用手动加载情节提要的代码替换了我的代码,没有意识到如果我只是删除所有代码就可以正常工作。不知道为什么会破坏旋转!感谢您的帮助! 对不起-我是新来的-我如何接受您的评论作为答案? 哦,你不能接受cmets。但是,我将其粘贴到实际答案中,因此您可以接受。谢谢! :-) 【参考方案1】:

为什么要以编程方式加载情节提要?如果没有特别需要这样做,我建议只使用模板应用程序委托代码。更好的是,创建一个全新的项目,然后复制您的故事板。这不一定有意义,但是...我敢打赌它会起作用!

【讨论】:

以上是关于状态栏旋转,但应用程序不旋转,在 iPhone 上 - 在 iPad 上工作正常?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我在 iPhone 6+ 上旋转时导航栏会从拆分视图中消失?

iPhone应用程序主视图不旋转但需要在调用UIWebView时旋转?

旋转视图时如何在ios 7中停止状态栏覆盖ping

仅自动旋转 Ipad 而不是 iphone

iOS 8 - 切换控件后,即使在纵向模式下,旋转也会使状态栏消失

iOS 8 - 应用程序未正确旋转