屏幕旋轉(zhuǎn)的那些事

屏幕旋轉(zhuǎn)一般有三種方式:

第一種、系統(tǒng)自帶的自動(dòng)旋轉(zhuǎn),只需要在Xcode - General設(shè)置即可

General

第二種、 UI層面的旋轉(zhuǎn),某個(gè)控制器的View的旋轉(zhuǎn),其實(shí)這是一種假象,只是設(shè)置View的transform,把View.center= [UIApplication sharedApplication].keyWindow.center , 重寫(xiě)View的Frame即可,在返回的時(shí)候需設(shè)置回來(lái)


全屏


非全屏

第三種、是讓控制器旋轉(zhuǎn),這里需要在APPdelegate里面定義一個(gè)BOOL值,增加方法如圖

APP delegate.m

在相應(yīng)的控制器里剛開(kāi)始的地方設(shè)置這個(gè)BOOL值,

設(shè)置BOOL值

最后在點(diǎn)擊全屏的方法里分別設(shè)置,

全屏


非全屏

在全屏和非全屏?xí)r需要重寫(xiě)控件的Frame,當(dāng)然,在全屏按鈕那里可以增加旋轉(zhuǎn)動(dòng)畫(huà),到此你會(huì)發(fā)現(xiàn)功能已經(jīng)實(shí)現(xiàn),但是,狀態(tài)欄沒(méi)了,天哪,怎么會(huì)出現(xiàn)這種事情,不禁一咯噔。。。。。

通過(guò)查閱資料發(fā)現(xiàn),在iOS7 時(shí)旋轉(zhuǎn)屏幕,狀態(tài)欄是有的,在iOS8之后,旋轉(zhuǎn)之后默認(rèn)狀態(tài)欄是隱藏的,這就需要設(shè)置View controller-bar status bar appearance = NO.

同時(shí)在appdelegate里面設(shè)置一下?tīng)顟B(tài)欄就OK搞定收工!!!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 1,Search Bar 怎樣去掉背景的顏色(storyboard里只能設(shè)置background顏色,可是發(fā)現(xiàn)cl...
    以德扶人閱讀 2,435評(píng)論 2 50
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,251評(píng)論 25 708
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,229評(píng)論 4 61
  • 拖延癥患者,從來(lái)都是奴隸,先是懶惰的奴隸,后是恐懼的奴隸。嗯,如果不做恐懼的奴隸,就是徹底“死亡”了。 很多事情,...
    一棵荒草閱讀 436評(píng)論 0 0
  • 吉林阿未閱讀 1,158評(píng)論 0 2