当用户旋转设备时,我正准备从一个UIView转换到另一个UIView.这本身并不困难.但是,由于我在旋转后显示完全不同的内容,因此UIKit提供的默认动画(旋转当前显示的视图)在概念上是不合适的.
简单地禁用动画并突然交换视图是可以忍受的,但远远低于我正在构建到应用程序其余部分的润色.我更喜欢这样做:
什么时候应该调用AutorotateToInterfaceOrientation:我想在旋转之前抓取一个不透明的视图快照,如果你愿意的话,截取用户视图.然后在完成旋转并且系统已应用视图变换等之后,我可以显示我保存的快照视图,并将我选择的过渡动画设置为我的新视图.完成后,我可以发布我的快照并继续前进.
有没有办法做到这一点并不昂贵?
我能想到的唯一另一个选择是在除默认方向之外的所有方向上返回NO,然后通过应用我自己的动画和变换做出反应.我宁愿使用系统来做这件事,因为我觉得自己可能会在手动旋转的视图中导致"未定义"的键盘行为等.
思考?