iPhone:使用哪种方法将视图旋转回纵向?

时间:2010-04-11 22:46:03

标签: iphone uikit uiview uiviewcontroller rotation

我用...

-(void)didRotateFromInterfaceOrientation:

...使已旋转的视图适应景观。

但是,当视图需要旋转回肖像时,我不知道使用哪种方法。

2 个答案:

答案 0 :(得分:1)

  

我使用(void)didRotateFromInterfaceOrientation在启用旋转时调整视图...

你错过了冒号。该方法接受一个参数,因此它是didRotateFromInterfaceOrientation:

didRotateFromInterfaceOrientation是另一个有效的选择器,但它命名了一个完全不同的(可能不存在且从未调用过)方法。

  

...但是,方法或如何检测到iphone回到垂直位置以便重新读取视图???

尽可能接近the documentation,同样的方法可以完成这两项工作。方法的参数是旧方向,self.interfaceRotation是新的方向。

所以,检查其中一个值(如果我是iPhone程序员,我会使用self.interfaceRotation)来查看您现在所处的方向,并相应地更新您的视图。

答案 1 :(得分:1)

您可以使用相同的方法,但包含测试以查看方向更改的内容。

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation{
    switch fromInterfaceOrientation {
        case UIInterfaceOrientationPortrait {
            //... handle roation from portrait
            break;
        }
        case  UIInterfaceOrientationLandscapeLeft {
            //... handle roation LandscapeLeft
            break;
        }
        //.. and so on
    }
}

但是,为其新方向配置视图应在其中一个以“will”开头的旋转方法中完成。上述方法告诉视图控制器 上一个 方向是什么。它不会发送当前方向或将来的内容。 “will”方法允许您在新方向完成之前调整视图。