我用...
-(void)didRotateFromInterfaceOrientation:
...使已旋转的视图适应景观。
但是,当视图需要旋转回肖像时,我不知道使用哪种方法。
答案 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”方法允许您在新方向完成之前调整视图。