在我的viewController中有其他viewControllers,在iOS 5中,它可以正常运行,因为它调用了willAnimateRotationToInterfaceOrientation
方法。如果我旋转设备,iOS将调用willAnimateRotationToInterfaceOrientation
,并且应用程序正常运行,但是当应用首次启动时,它不会。然后我尝试在viewWillAppear中调用willAnimateRotationToInterfaceOrientation
,但它没有帮助。
如何以编程方式或其他方式调用willAnimateRotationToInterfaceOrientation
?
答案 0 :(得分:2)
willAnimateRotationToInterfaceOrientation:duration:
是应该仅由设备调用的几种方法之一。关于它的唯一特别之处是它被调用时,所以如果你将它的功能提取到另一个方法,你应该能够像你一样调用该功能(在这种情况下,在viewWillAppear
中)。
-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
[self prepareToRotate];
}
-(void)prepareToRotate {
// existing functionality goes here
}
请注意,如果您使用toInterfaceOrientation
或duration
,则还应将其作为prepareToRotate
中的参数包含在内。