2

我正在将旧版应用程序升级到仅支持横向的 iOS 6。当我在 iPhone 模拟器或 iPhone 4 上运行应用程序时,根视图控制器的方向是纵向模式,而它应该是横向模式。但是,键盘最初处于正确的位置。此外,当我旋转设备时,键盘会保持其初始方向,并且根视图永远不会改变方向。

在项目设置的 Supported Interface Orientations 部分,选择 Landscape Left 和 Landscape Right 按钮。在pList文件中,Initial Interface Orientation设置为Landscape(右home键),Supported interfaceorientation设置为Landscape(右home键)和Landscape(左home键)。

此外,在根视图控制器中,我已替换此代码:

 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations.
BOOL rotate = NO;

if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight)
    rotate = YES;

return rotate;
 }

使用此代码:

 - (NSUInteger)supportedInterfaceOrientations {

return UIInterfaceOrientationMaskLandscape;

 }

 - (BOOL)shouldAutorotate {

return YES;

 }

有任何想法吗?

4

1 回答 1

1

我在将旧版应用程序更新到 iOS 6 时遇到了同样的情况。您可以查看该帖子以获取我的解决方案:

旋转在 iOS6 上表现不同

总而言之,您需要将主窗口rootViewController属性设置为自定义导航控制器实现shouldAutorotatesupportedInterfaceOrientation然后瞧,它应该可以正常工作!

于 2012-10-31T03:11:24.020 回答