iPad橫豎屏切換中的注意點

最近公司要搞iPad的豎屏版本,使用了PrimaryOverlay的方式顯示左側(cè)的菜單欄,在實際開發(fā)過程中很是遇到了一些問題,這里就記錄一下吧:

  1. 設(shè)備方向不等于實際方向
  2. 部分豎屏頁面無法旋轉(zhuǎn)到橫屏
  3. Popover出現(xiàn)覆蓋問題

關(guān)于這幾個問題,其實也并沒有特別的麻煩,只是一時間會想不到解決思路而已。

設(shè)備方向問題

設(shè)備方向不能夠直接讀取[UIDevice currentDevice]的方向,因為device的方向還存在FaceUp和FaceDown,如果只使用[UIDevice currentDevice]來獲取的話,會出現(xiàn)識別錯誤的情況。所以正確的做法應(yīng)該是先使用[UIDevice currentDevice]獲取,如果是FaceUp或者FaceDown,在使用statusBar的方向來進(jìn)行識別,最終獲取正確的方向。

部分頁面無法旋轉(zhuǎn)的問題

這個主要是有一部分頁面是從primaryController彈出的頁面,這些頁面在轉(zhuǎn)屏?xí)r就會無法旋轉(zhuǎn)。正確的做法是使用category或者共有父類,重寫present方法,判斷如果是splitController的primaryController在彈出頁面,修改為使用splitController彈出。

Popover的覆蓋問題

由于PrimaryOverlay模式下,菜單頁面的出現(xiàn)也是一個popover,如果不進(jìn)行處理的話,就會導(dǎo)致菜單頁面覆蓋了原頁面的popover。這個問題沒有找到更好的辦法,我也只是在屏幕旋轉(zhuǎn)的時候,把當(dāng)前頁面彈出的popover消失,這樣就可以避免出現(xiàn)覆蓋的問題。當(dāng)然,還有一個辦法,就是在屏幕旋轉(zhuǎn)的時候,如果判斷有popover,把模式設(shè)置為PrimaryHidden也是可以的。

主要的問題也就這么三個吧,簡單的說明和記錄一下。

最后編輯于
?著作權(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)容