屏幕旋轉(zhuǎn)一般有三種方式:
第一種、系統(tǒng)自帶的自動(dòng)旋轉(zhuǎn),只需要在Xcode - General設(shè)置即可
第二種、 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值,增加方法如圖
在相應(yīng)的控制器里剛開(kāi)始的地方設(shè)置這個(gè)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搞定收工!!!