我的应用程序中只有一个应用程序委托和视图控制器。 该应用程序适用于纵向和横向模式。 在我的视图控制器的viewWillAppear方法中,我正在使用以下代码获取设备的方向:
UIInterfaceOrientationIsPortrait([[UIDevice currentDevice] orientation])
第一次运行应用程序时,即使我的设备处于纵向状态,它也会将结果显示为横向。 为什么会如此。我该如何解决这个问题?
答案 0 :(得分:5)
我遇到了很多关于currentDevice.orientation的问题试试这个:
UIDeviceOrientationIsPortrait([[UIApplication sharedApplication] statusBarOrientation])
答案 1 :(得分:0)
UIDeviceOrientation deviceOrientation = [UIDevice currentDevice].orientation;
if (UIDeviceOrientationIsLandscape(deviceOrientation)
{
//LandscapeView
}
else
{
//PortraitView
}
答案 2 :(得分:0)
来自UIDevice的文档:
除非为orientation,否则此属性的值始终返回0 通过调用启用了通知 beginGeneratingDeviceOrientationNotifications。
如果您查看'orientation'返回的实际值,您会看到它是'UIDeviceOrientationUnknown'。