iOS 8.1自动旋转

在我的项目中,我检查了所有我需要的方向!

方位

这在iOS 7.1上正常工作,但在iOS 8.1中无法正常工作。 在iOS 8.1中,当我以纵向或横向模式打开应用程序时,它可以正常工作,但在使用过程中,我只能旋转设备状态栏来更改旋转! 我怎样才能解决这个问题?

我有很多天都有同样的问题,并从ChrisJP的链接得到答案。

appdelegate.m文件,请在应用程序didFinishLaunchingWithOptions注释以下代码。

 self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 

以下是链接中的文字(以防过期或者不想login开发者论坛):

“我已经设法解决这个问题!

我假设你们都使用故事板呢? 如果是这样的话,那么当你不使用故事板时,你的应用程序委托中可能会有一些剩余的代码,事实certificate,当故事板被使用时,这已经不再需要了,但直到8.1版本没有效果。

  1. 确保您的导航控制器(或您正在使用的任何设备)在故事板中设置为“初始视图控制器”

  2. 在您的appdelegate.m文件中,移除对应用程序didFinishLaunchingWithOptions中出现的任何对UIWindow和rootViewController的引用。 对我来说,我仍然有以下两行,删除后,解决了我的问题:

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; [self.window makeKeyAndVisible];

也是我设置self.window.rootViewController。 这也不需要设置,除非你因为某种原因被覆盖。

这对我来说是固定的,希望它也适合你们。“

在我的情况下,我是以编程方式创build故事板,但是仍然在项目设置中引用故事板。 将部署设置中的“主界面”字段留空即可解决问题。

你能检查你的Xcode版本吗? 这可能是问题

iOS 8:没有故事板的情况下,自动旋转不起作用

更新到iOS 8.1时,我也遇到了这个问题。 如果您的应用程序不使用故事板,则可以通过删除info.plist中的引用Main storyboard file base name来解决该问题

或者当以源代码打开时

 <key>UIMainStoryboardFile</key> <string>Main</string>