我得到的代码是,如果设备横向/横向或上下颠倒,它会旋转并显示另一个 View Controller 。但是,如果它是面向上还是面向下,那么如何辨别它是横向还是纵向?因为我只想旋转,当它面朝上或朝下且在横向模式下

    - (void)viewDidAppear:(BOOL)animated
    {
        UIDeviceOrientation orientation = [[UIDevice currentDevice]orientation];
        NSLog(@"orientation %d", orientation);
        if ((orientation == 2) || (orientation == 3) || (orientation == 4))
        {

            [self performSegueWithIdentifier:@"DisplayLandscapeView" sender:self];
            isShowingLandscapeView = YES;
    }
}

最佳答案

在UI代码中,通常不应依赖于设备方向,而应取决于用户界面方向。它们之间通常会有区别,例如,当 View Controller 仅支持纵向时。

对于您的情况,最重要的区别是界面方向永远不会朝上/朝下。

在您的情况下,您可以向 View Controller 询问当前用户界面的方向:self.interfaceOrientation

您的病情可能有点像if (deviceOrientation is face up/down and interfaceOrientation is landscape)
请记住,左侧的设备方向横向意味着右侧的用户界面方向。

关于ios - 当iphone设备的方向朝上/朝下时,我能否确定它是横向还是纵向?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18742694/

10-12 00:34