關(guān)于iOS橫豎屏的問題

在iOS開發(fā)的過程中,有時(shí)候會(huì)遇到固定的一個(gè)界面需要能隨意切換橫豎屏,而且其他的界面都不可以切換的時(shí)候。就必須在工程文件中如下圖,

項(xiàng)目工程文件

這個(gè)時(shí)候的整個(gè)項(xiàng)目就都是處于可以橫豎屏切換的狀態(tài)。所以此時(shí),你必須通過在AppDelegate.m文件中用代碼來控制界面的橫切屏切換。
- (UIInterfaceOrientationMask)application:(UIApplication)application supportedInterfaceOrientationsForWindow:(UIWindow)window {
if(_isLandscape) {
//判斷當(dāng)前的界面橫豎屏狀態(tài)
UIDeviceOrientation orientation = [UIDevicecurrentDevice].orientation;
if(orientation == UIDeviceOrientationLandscapeLeft || orientation == UIDeviceOrientationLandscapeRight){
return UIInterfaceOrientationMaskLandscape;
}else{//橫屏后旋轉(zhuǎn)屏幕變?yōu)樨Q屏
return UIInterfaceOrientationMaskPortrait;
}
}else{
return UIInterfaceOrientationMaskPortrait;
}
}
UIDeviceOrientation 是機(jī)器硬件的當(dāng)前旋轉(zhuǎn)方向 這個(gè)你只能取值 不能設(shè)置
這個(gè)時(shí)候,你就可以通過設(shè)置 _isLandscape的值來控制界面是否能進(jìn)行橫豎屏的切換。

typedef NS_ENUM(NSInteger, UIDeviceOrientation) {
  UIDeviceOrientationUnknown,             //系統(tǒng)無法判斷目前Device的方向,有可能是斜置   
  UIDeviceOrientationPortrait,            // 設(shè)備垂直方向上,按鈕在底部
  UIDeviceOrientationPortraitUpsideDown,  // 設(shè)備垂直方向上,按鈕在頂部
  UIDeviceOrientationLandscapeLeft,       // 設(shè)備水平方向,按鈕在右邊
  UIDeviceOrientationLandscapeRight,      // 設(shè)備水平方向,按鈕在左邊
  UIDeviceOrientationFaceUp,              // 面向設(shè)備的扁平化,屏幕向上
  UIDeviceOrientationFaceDown             // 面向設(shè)備的扁平化,屏幕向下
 } __TVOS_PROHIBITED;

在ViewController里面,你可以通過獲取AppDelegate里面的_isLandscape值來控制屏幕能否橫豎屏切換
- (void)backToPortrait : (BOOL)isLan{//回到豎屏
AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
appDelegate.isLandscape = isLan;
}


橫屏狀態(tài)

初次寫博客,可能表述上有些不清晰,需要的話可以留言,大家多討論。謝謝。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 關(guān)于橫豎屏適配,有一句說一句,坑挺深的。之前做Vision和畢設(shè)的時(shí)候就處理過橫豎屏問題,不過當(dāng)時(shí)的功力太淺,明顯...
    HarwordLiu閱讀 37,595評論 26 137
  • 我喜歡一個(gè) 長腿叔叔 看他在風(fēng)里迷失自己 我閃爍的言語演著著迷 躲你 太陽眷顧著我的情緒 破舊的老榆樹給我一個(gè)陰影...
    喜喜美好閱讀 322評論 0 6
  • 心を 全部 焼き盡くすような 絶望の隣で いつだって 仿佛將心也灼燒殆盡 絕望踱步在近旁 君は すべて とかすよう...
    謝小帥閱讀 332評論 0 1

友情鏈接更多精彩內(nèi)容