UIInterfaceOrientationLandscapeLeft和UIInterfaceOrientationLandscapeRight是否相反?

时间:2009-09-11 13:06:32

标签: iphone cocoa-touch uikit

文档说:

  

UIInterfaceOrientationLandscapeLeft

     

设备处于横向模式,设备直立,主页按钮位于右侧。

     

UIInterfaceOrientationLandscapeRight

     

设备处于横向模式,设备直立,主页按钮位于左侧。

然而,我让他们完全逆转。 SDK中真的会出现这样的错误,还是我只是疯了?

代码:

+ (NSString *)NSStringFromUIInterfaceOrientation:(UIInterfaceOrientation)o
{
    switch (o) {
        case UIInterfaceOrientationPortrait: return @"UIInterfaceOrientationPortrait";
        case UIInterfaceOrientationPortraitUpsideDown: return @"UIInterfaceOrientationPortraitUpsideDown";
        case UIInterfaceOrientationLandscapeLeft: return @"UIInterfaceOrientationLandscapeLeft";
        case UIInterfaceOrientationLandscapeRight: return @"UIInterfaceOrientationLandscapeRight";
    }
    return nil;
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
    NSLog(@"Should: %@", [[self class] NSStringFromUIInterfaceOrientation:toInterfaceOrientation]);
    return YES;
}    

我将以上代码粘贴到默认的基于导航的应用模板的RootViewController.m中。

后续行动:报告为bug 7216046

1 个答案:

答案 0 :(得分:1)

您确定要正确阅读文档吗?请注意,主页按钮位置和方向值是 obposites - 也就是说,UIInterfaceOrientationLandscapeLeft表示右侧侧的主页按钮,UIInterfaceOrientationLandscapeRight暗示左侧侧的主页按钮。确保您正在旋转设备以进行正确检查。

修改:我已确认原始问题中提出的问题。看起来像一个bug,除非我也遗漏了一些东西。