在我们的应用程序中,有一个ViewController只能在Portrait模式下使用,因此我们使用通常的方法来确保只有这种模式有效:
-(UIInterfaceOrientationMask)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationPortraitUpsideDown;
}
但是如果用户之前处于横向模式,然后切换到此特定的ViewController,则它不会自动旋转到纵向模式。因此,我们正在寻找一种强制纵向模式的方法,并找到了这个:
[[UIDevice currentDevice] setValue:
[NSNumber numberWithInteger: UIInterfaceOrientationPortrait]
forKey:@"orientation"];
它工作正常,但由于它不是正式的做事方式,我们现在或将来可能会被拒绝。
有没有办法实现相同的结果,但使用非私有API?
编辑:我特别询问如何避免使用此问题中发布的解决方案(How do I programmatically set device orientation in iOS7?),那么它怎么可能是重复的呢?