我得到的代码是,如果设备横向/横向或上下颠倒,它会旋转并显示另一个 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/