应用程序启动时iPad上的横向方向

时间:2015-11-18 05:38:36

标签: ipad rotation ios9 uiinterfaceorientation

我正在使用具有预览图像类的GPUImage。必须将预览图像设置为屏幕方向才能正确输出。因此,我需要在应用启动时获得正确的方向。但是,[UIDevice currentDevice].orientationviewDidLoad中的viewWillAppear测试始终返回0(未知)。

所以我在viewDidLoad

中强制这样的方向
NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationPortrait];
    [[UIDevice currentDevice] setValue:value forKey:@"orientation"];

它适用于iPhone和iPad mini - 当应用程序以横向方式启动时,设备会检测到它不在纵向中并重新定位到横向。然后调用viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator 并为GPUImage的预览设置了正确的输出。

然而,在更大的iPad尺寸中,这不会发生。当应用程序在Landscape中启动时,它认为它在Portrait中并且不会像在iPad Mini或iPhone中那样重绘为Landscape。没有致电viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator。我知道这是因为纵向或横向的iPad被认为是相同的方向。不知何故,我需要应用程序在启动后知道它在Landscape中,因此它可以调用旋转方法。

有什么建议吗?

0 个答案:

没有答案