我创建了一个modalviewcontroller,所有子视图都是由代码创建的。当我测试应用程序时,我发现了一个问题。然后问题的主要原因是应用程序不应该支持UpsideDown方向,但设备可能恰好处于该方向。
如果我:
将设备旋转为纵向,然后旋转至UpsideDown模式和presentModalView,modalviewcontroller中的子视图应与纵向方向相同。
将设备旋转到横向,然后转到UpsideDown模式和presentModalView,子视图应区别对待。
上述情况告诉我,我应该根据以前的InterfaceOrientation在modalviewcontroller中创建子视图。
问题是:如何获取上一个屏幕的InterfaceOrientation?在这种情况下,获取设备方向将无济于事。
PS:我正在写一个lib,我可能会给我的用户提供一个界面,以便从toInterfaceOrientation
向我发送“-willRotateToInterfaceOrientation:duration:
”但有关于如何在我的代码中获取方向的任何想法?
答案 0 :(得分:9)
在任何UIViewController中,您都可以像这样访问属性interfaceOrientation:
if (self.interfaceOrientation == UIInterfaceOrientationPortrait) {
// do stuff
}
答案 1 :(得分:0)
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return UIInterfaceOrientationIsPortrait(interfaceOrientation);
}