iPad方向不能正常工作

时间:2013-01-31 02:05:46

标签: ios objective-c xcode ipad

我发布了一款应用,由于某些原因,只有部分人在应用中遇到问题。即它在纵向模式下打开,并且从此处无法旋转,因为应用程序设置为仅允许在LandscapeLeft和LandscapeRight中。大多数人都没有这个问题,但我最近通过我们的支持页面收到了一些投诉。

有问题的人似乎是iOs 5.1和iPad gen 1,这是我的应用程序支持的最低操作系统。

以下是处理轮换的代码:

   - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
   {
       if(interfaceOrientation == UIInterfaceOrientationLandscapeRight)
       {
           return YES;
       }
       else
       {
           return NO;
       }
   }

这是.plist

http://tinypic.com/r/nnvfhz/6

任何建议都会很棒。

1 个答案:

答案 0 :(得分:1)

在iOS5中,您必须覆盖shouldAutorotateToInterfaceOrientation:方法:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // support all interface orientations
    return YES;
}

自iOS 6起,此方法已被弃用,您应该使用这些方法:

- (BOOL)shouldAutorotate {
    // return whether autorotation is supported
    return TRUE;
}
- (NSUInteger)supportedInterfaceOrientations {
    // return the mask that represents the supported interface orientations
    return UIInterfaceOrientationMaskAll;
}

最后,我会提到这种方法,因为它通常适用:

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
    // set the preferred orientation of view controllers presented in full-screen
    return UIInterfaceOrientationLandscapeRight;
}