最近一直在做跟視頻播放有關(guān)的App,在開發(fā)中,發(fā)現(xiàn)了許多與橫豎屏有關(guān)的問題,下面會一一給大家介紹,為新手減少一些不必要的麻煩:
1.如何進(jìn)行橫豎屏適配
很簡單,按圖所示即可
這樣操作就可以讓整個App所有頁面都適配上橫豎屏了,但是,這樣會發(fā)現(xiàn)一個問題,在App內(nèi),只需幾個或者一個頁面適配橫豎屏即可,這樣該如何操作呢?
2.讓需要的頁面適配橫豎屏
如何讓僅僅需要的適配的頁面適配橫豎屏呢?
第一步:創(chuàng)建一個助手類
此助手類主要作用是控制是否進(jìn)行橫豎屏,當(dāng)需要橫豎屏?xí)r,置為YES,否則人置為NO;
第二步:在Appdelagate內(nèi)部控制App是否進(jìn)行橫豎屏
在- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window內(nèi)部寫入代碼控制橫豎屏
進(jìn)行這樣操作之后,因為助手初始化默認(rèn)值為NO,所以整個App又被強(qiáng)制豎屏了
緊接著,我們只需要在需要打開橫豎屏的控制器內(nèi)將助手類置為YES即可
進(jìn)行這樣的操作,我們就可以看到,需要打開的頁面被打開了
3.如何進(jìn)行首頁強(qiáng)制豎屏
但是在我開發(fā)工程中,發(fā)現(xiàn)如此操作,首頁總是會在橫屏啟動時,頁面錯亂掉了
主要原因還是因為首頁在啟動時,其實并沒有被強(qiáng)制豎屏
找了一下原因,發(fā)現(xiàn)App在啟動時,
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
會比- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window先走
這樣在App創(chuàng)建第一個控制器時,實際上是按照豎屏創(chuàng)建的,整個UI就會發(fā)生錯亂
如何進(jìn)行操作呢?
我們需要在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions內(nèi)App創(chuàng)建之前講App強(qiáng)行豎屏掉
這樣,你就可以隨心所欲的控制整個App內(nèi)所有的頁面進(jìn)行橫豎屏了
怕有些新手還是不太懂,附上github內(nèi)的demo鏈接(https://github.com/Songxiaolong/anyway),希望對大家有幫助