1.UIViewController的轉(zhuǎn)屏回調(diào)
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration API_DEPRECATED("Implement viewWillTransitionToSize:withTransitionCoordinator: instead", ios(2.0, 8.0)) API_UNAVAILABLE(tvos);
從這個接口的聲明中可以看出來,在iOS8之后廢棄這個方法了,而現(xiàn)在很多APP都支持到iOS9及以上了,這個時候穆碎,需要用后面提供的方法:
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {
? ? [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
}
2.參考鏈接:
http://www.reibang.com/p/6c2368650ad7
方法1:監(jiān)聽:UIDeviceOrientationDidChangeNotification 通知
文章中介紹說,這個通知會有一定問題熙掺,1.UIDeviceOrientation改變時匪补,UIInterfaceOrientation不一定改變。
方法2:監(jiān)聽?UIApplicationWillChangeStatusBarOrientationNotification 通知
Posted when the app is about to change the orientation of its interface. ----當(dāng)用戶界面方向?qū)⒁淖儠r西疤,發(fā)出該通知申钩。
UIApplicationDidChangeStatusBarOrientationNotification ---?當(dāng)用戶界面方向已經(jīng)改變了,發(fā)出該通知瘪阁。
項目中撒遣,目前使用的是VC自身的轉(zhuǎn)屏回調(diào),相對準(zhǔn)確和靠譜一些管跺。