状态栏旋转,但应用程序没有,在iPhone上工作正常吗?

时间:2014-11-17 19:17:49

标签: ios objective-c iphone ipad rotation

长时间的潜伏者,总是非常努力地搜索并以这种方式找到了很多答案。这是我第一次发现什么都没有解决我的问题。这也是我的第一个个人应用,因为我是一名新开发者。

我有两个设备 - iOS 8.1 iPhone 6和iOS 7 iPad Mini Retina 2.

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

在部署信息下: 部署目标设置为7.0和Universal。 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上,虽然 - 一切正常!应用程序按预期旋转并自行调整大小。

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

1 个答案:

答案 0 :(得分:0)

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