1.獲取HOME鍵方向 視圖控制器本身能檢測到屏幕的旋轉,如果要處理屏幕旋轉,需要重寫方法 supportedInterfaceOrientations(設置設備支持旋轉的方法, 如果不添加,視圖控制器將無法檢測到屏幕的旋轉) 旋轉後鍵盤收回 - (void)viewWillTransitionTo
1.獲取HOME鍵方向
視圖控制器本身能檢測到屏幕的旋轉,如果要處理屏幕旋轉,需要重寫方法
supportedInterfaceOrientations(設置設備支持旋轉的方法, 如果不添加,視圖控制器將無法檢測到屏幕的旋轉)
旋轉後鍵盤收回
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
視圖控制器會自動調整view的大小以適應屏幕的旋轉,bounds被修改,觸發view的layoutSubviews的方法
所以重寫layoutSubviews方法,根據設備方向,重新佈局
layoutSubviews方法:這個方法,預設沒有做任何事情,需要子類進行重寫
註意:layoutSubviews在以下情況下會被調用:
- init初始化不會觸發layoutSubviews
- 但是是用initWithFrame 進行初始化時,當rect的值不為CGRectZero時,也會觸發
- addSubview會觸發layoutSubviews
- 設置view的Frame會觸發layoutSubviews,當然前提是frame的值設置前後發生了變化
- 滾動一個UIScrollView會觸發layoutSubviews
- 旋轉Screen會觸發父UIView上的layoutSubviews事件
- 改變一個UIView大小的時候也會觸發父UIView上的layoutSubviews事件
2.獲取狀態欄的方向
[UIApplication sharedApplication].statusBarOrientation