iOS設(shè)置項(xiàng)目啟動(dòng)默認(rèn)方向

今業(yè)務(wù)需求是:app啟動(dòng)的時(shí)候加載的是一個(gè)橫向的游戲,根據(jù)后臺(tái)參數(shù),加載新的windows.rootviewcontroller,這個(gè)新的vc里面放了一個(gè)wkwebview,加載一個(gè)豎屏的游戲。先修改app啟動(dòng)的時(shí)候的默認(rèn)方向,如下圖:

第一步:先把info.plist文件里面的device orientation 全部都不勾選


第二部:在info.plist文件里面,加一個(gè)新的字段:

key值:Initial interface orientation

value值:Landscape (left home button)

如下圖:

app啟動(dòng)默認(rèn)的是一個(gè)橫的方向

第三部:在appdelegate里面從寫下面兩個(gè)方法:

- (BOOL)shouldAutorotate {

? ? return YES;

}

- (UIInterfaceOrientationMask)supportedInterfaceOrientations {

? ? return UIInterfaceOrientationMaskAll;

}


這兩個(gè)方法,重寫系統(tǒng)的,可以通過代碼來手動(dòng)控制設(shè)備的方向

第四部:在對(duì)應(yīng)的想要修改為豎屏的vc里面重新跳轉(zhuǎn)設(shè)備的方向?yàn)樨Q屏

- (BOOL)shouldAutorotate {

? ? return YES;

}

- (UIInterfaceOrientationMask)supportedInterfaceOrientations {

? ? return UIInterfaceOrientationMaskPortrait;

}

同樣重寫了,和appdelegate里面一樣的控制設(shè)備方向的方法。

PS:重寫系統(tǒng)控制設(shè)備方向的方法,第一個(gè)先在appdelegate里面寫,這樣子,就可以通過代碼來接管系統(tǒng)里面的控制設(shè)備的方向的操作。第二個(gè)在想要改變?cè)O(shè)備方向的vc里面來調(diào)轉(zhuǎn)具體的設(shè)備方向。


注意:如果device orientation里面沒有UIInterfaceOrientationMaskPortrait,并且,device orientation的勾都沒有去掉(也就是有其他的設(shè)備方向存在),這個(gè)時(shí)候要是把設(shè)備方向修改為沒有的UIInterfaceOrientationMaskPortrait,app會(huì)閃退的。

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

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