iOS:旋转iPad,改变观点的阶段?

时间:2012-02-11 18:03:13

标签: ios ipad cocoa-touch screen-rotation

我的应用程序针对每个方向都有非常不同的UI结构。

我应该删除iPad的旋转生命周期的哪个阶段,然后添加方向的UI以确保顺利过渡?

1 个答案:

答案 0 :(得分:6)

处理自动旋转时,您有四种主要方法需要关注:

shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation                                   duration:(NSTimeInterval)duration

willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
                            duration:(NSTimeInterval)duration

didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation

现在,我处理轮换的方式是,例如:

  1. 调整willAnimateRotationToInterfaceOrientation;

  2. 中的所有框架
  3. willRotateToInterfaceOrientation中添加/删除子视图(如果需要);

  4. didRotateFromInterfaceOrientation恢复子视图(如果需要)。

  5. 更一般地说,我修改了willAnimateRotationToInterfaceOrientation中可动画的所有属性;我在willRotateToInterfaceOrientation / didRotateFromInterfaceOrientation进行了所有无法制作动画的修改。

    这是UIViewController reference关于willRotate / didRotate所说的内容:

      

    要暂时关闭不需要的功能或在方向更改期间可能导致问题,您可以覆盖willRotateToInterfaceOrientation:duration:方法并在那里执行所需的操作。然后,您可以覆盖didRotateFromInterfaceOrientation:方法,并在方向更改完成后使用它重新启用这些功能。