接口方向委托方法之间有什么区别

sen*_*thu 1 iphone

任何人都可以分辨出willRotateToInterfaceOrientation,willAnimateRotationToInterfaceOrientation,didRotateFromInterfaceOrientation之间的差异,

Jef*_*Hay 8

iOS最初通过两个步骤完成所有轮换.在iOS 3.0中,引入了一个新的/更好的一步动画过程.你提到的方法在轮换的不同阶段被调用.特别,

willRotateToInterfaceOrientation:duration:在任何旋转开始之前,只要视图要旋转(使用任何旋转方法),就会调用它.此方法将在任何版本的iOS上调用,任何时候执行旋转(在主动显示的视图上)

willAnimateRotationToInterfaceOrientation:duration:在绘制动画之前,在一步旋转操作期间调用.这只会在iOS 3.0+上调用.

didRotateFromInterfaceOrientation:在旋转完成后,在旋转操作结束时(使用任何旋转方法)调用.此方法将在任何版本的iOS上调用,无论何时执行旋转(在主动显示的视图上).

实际上,在任何现代(3.0+)iOS上,所有三种方法都被发送到主动显示视图的视图控制器.按列出的顺序调用方法:

willRotateToInterfaceOrientation:duration:第一 willAnimateRotationToInterfaceOrientation:duration:秒, didRotateFromInterfaceOrientation:最后一点

注意:iOS 5不赞成使用其他旋转通知方法(处理两步动画过程),因此这三个是唯一应该在新项目中使用的方法.