設備旋轉---橫豎屏切換
阿新 • • 發佈:2017-08-08
不能 旋轉 clas return 設備旋轉 ota wid 豎屏 n)
前提: 必須勾選上這兩個 Left \ Right 選項; 如果不勾選, 代碼怎麽控制都不管用
不同頁面實現& shouldAutorotate/supportedInterfaceOrientations 等方法不起作用, 不能控制橫豎屏的切換
正常的實現邏輯中, 只需要在控制器A中實現以下
- (BOOL)shouldAutorotate { return NO; } - (UIInterfaceOrientationMask)supportedInterfaceOrientations { return UIInterfaceOrientationMaskPortrait; }
原因是, UINavigationController
, UITabBarController相關的控制器會默認走基類的shouldAutorotate等這幾個轉屏方法,所以自己寫就不會生效了,
解決辦法,自定義 UINavigationController
, UITabBarController, 在 BaseNavController中實現轉屏的方法,然後就可以在需要設置轉屏的控制器設置了
-(BOOL)shouldAutorotate{
return self.topViewController.shouldAutorotate;
}
/**以下兩個方法可不寫*/
- (UIInterfaceOrientationMask)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskAll;
}
-(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation{
returnUIInterfaceOrientationLandscapeRight;
}
設備旋轉---橫豎屏切換