正如标题所说。在iOS 9中,类别中的所有方法(在UIViewController.h中):
@interface UIViewController (UIViewControllerRotation)
已被弃用。
以下是问题:How to detect UIViewController rotation events in iOS 9
答案 0 :(得分:0)
检测方向改变(旋转)的iOS 8方法是实现视图控制器的以下方法:
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
{
// Do view manipulation here.
[super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
}
注意:控制器的视图尚未转换为该大小 这一次,如果您的大小调整代码依赖于视图,请务必小心 当前尺寸。
它也将应用iOS 9
答案 1 :(得分:0)
您可以使用UIDevice
中提供的方法beginGeneratingDeviceOrientationNotifications()
在尝试从接收器获取方向数据之前,您必须调用此方法。此方法启用设备的加速度计硬件,并开始向接收器传送加速度事件。接收器随后使用这些事件在设备方向更改时发布UIDeviceOrientationDidChangeNotification通知并更新方向属性。