iOS設(shè)備橫豎屏處理

我們在做頁面橫豎屏處理的時候無外乎涉及到三個方面的設(shè)置,但之前并不理解這幾種設(shè)置的作用方式,今天按照自己的理解來梳理一下。

優(yōu)先級:1>2>3。

xcode設(shè)置

1、xcode設(shè)置:比如,我們在xcode設(shè)置里面所有方向都勾選了,那么我們的app是支持所有方向旋轉(zhuǎn)的。所以在這里,我們要想好app的主要支持方向,多數(shù)app是主要支持豎屏頁面的,所以一般只會勾選Portrait。那也就意味著,如果我們不做多余處理,app只支持豎屏。


AppDelegate設(shè)置


2、AppDelegate設(shè)置:上面說了,app是主要支持豎屏的,但會涉及到一些橫屏頁面的處理,比如:播放器。那我們就需要在AppDeleagte里面設(shè)置支持橫屏和豎屏,LandscapeRight、LandscapeLeft、Portrait。這里設(shè)置的意義在于,我不希望應(yīng)用跟隨設(shè)備進行旋轉(zhuǎn),但我又希望app內(nèi)部支持橫屏頁面。


ViewController設(shè)置

3、ViewController設(shè)置:能走到這一步說明,我這個頁面是需要特殊處理的,那就涉及到以上三個方法。

第一個方法:是否支持旋轉(zhuǎn),默認為YES。這個顧名思義,就是你希望當前頁面是否跟隨設(shè)備旋轉(zhuǎn)。如果設(shè)置成yes,那你需要保證appdelegate里面是支持多個方向的,否則會崩潰

第二個方法:頁面支持的方向。如果我們這個頁面只支持右橫屏,那就設(shè)置成LandscapeRight就可以了。

第三個方法:我理解這個方法只針對模態(tài)視圖和rootViewController。比如你要在豎屏頁面present一個橫屏頁面,但又要控制好推出頁面的顯示方向,可在在這設(shè)置。這里要注意,你設(shè)置的方向需要在方法二種做支持,否則會崩潰。


還有一種情況,比如在做ipad應(yīng)用的時候,要求設(shè)備只支持橫屏一個方向,那就在AppDelegate設(shè)置里面return一個方向就可以,后面的方法不需要處理。

現(xiàn)實中的需求比以上我列舉的幾種要復雜的多,但只要能準確理解好以上幾種方法的作用,就可以應(yīng)對不同的產(chǎn)品需求。

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

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

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