我的应用程序针对每个方向都有非常不同的UI结构。
我应该删除iPad的旋转生命周期的哪个阶段,然后添加方向的UI以确保顺利过渡?
答案 0 :(得分:6)
处理自动旋转时,您有四种主要方法需要关注:
shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration
willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
duration:(NSTimeInterval)duration
didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
现在,我处理轮换的方式是,例如:
调整willAnimateRotationToInterfaceOrientation
;
在willRotateToInterfaceOrientation
中添加/删除子视图(如果需要);
在didRotateFromInterfaceOrientation
恢复子视图(如果需要)。
更一般地说,我修改了willAnimateRotationToInterfaceOrientation
中可动画的所有属性;我在willRotateToInterfaceOrientation
/ didRotateFromInterfaceOrientation
进行了所有无法制作动画的修改。
这是UIViewController reference关于willRotate
/ didRotate
所说的内容:
要暂时关闭不需要的功能或在方向更改期间可能导致问题,您可以覆盖willRotateToInterfaceOrientation:duration:方法并在那里执行所需的操作。然后,您可以覆盖didRotateFromInterfaceOrientation:方法,并在方向更改完成后使用它重新启用这些功能。