iOS 11 之后 iPad 分屏適配探究

[toc]

體驗分屏

分屏方式就是:打開第一個程序,上滑展示程序塢,按住第二個程序拖入屏幕(此時是懸浮模式),懸浮模式頂部‘-’長按拖動可以實現(xiàn)分屏模式(也可以用于切換)
分屏模式與懸浮模式可以共存,也就是可以同時開 3 個程序,在一個屏幕上

mac 分屏,長按左上角綠色那個就行(按一下是全屏)

開發(fā)問題

  • 需要使用 launch Screen File 才行,使用 Launch Images Sourc 是不行的(坑了好久,網(wǎng)上也搜不到什么答案)
  • 如果要用到這個分屏,自動布局就要求很牛逼了(關(guān)于自動布局,又可以進一步提升)
  • iOS 11 之前的分屏(懸浮分屏),寬度基本是定死的(320 或 375)
  • iOS 11 之后,有 2種分屏,一種就是懸浮分屏;另一種是真分屏,同時使用 APP,會存在 3 中分配方式(小+大、大+小、平分)(注:并不是平分屏幕,因為中間有個分割線,實測為 10pt)

豎屏?xí)r,只有左右分屏,小的部分為 320 或者 375(就是塞了個 5s 或者 8 的屏幕寬度)
橫屏?xí)r,存在平分,除去分割線之后平分
xcode 9.3 已經(jīng)在 sb 中體現(xiàn)了,分屏預(yù)覽,直接用 sb 開發(fā)也是很有好處啊,為啥都不喜歡呢,不覺得沖突很多啊

  • 分屏得注意(不要以 pad 的尺寸,寫死了一些約束值)(以前都是以屏幕尺寸來判斷屏幕尺寸的,在分屏的情況下可能不適用了,得想辦法根據(jù)當前視圖大小來適配了)
  • 如果開發(fā) iPhone,不支持 iPad 的話,APP 在 iPad 上依舊可以打開,但是不能使用分屏的,那么就不用仔細適配(至少保證能用,不然審核還是不過)

初探

分辨率表

  • iPhone
設(shè)備 開發(fā)尺寸 倍數(shù) sizeClass
豎屏
iPhone4/4s 320x480 @2x CR
iPhone5/5s/se 320x568 @2x CR
iPhone6/7/8 375x667 @2x CR
iPhone6+/7+/8+ 414x736 @3x CR
iPhoneX 375x812 @3x CR
橫屏
iPhone4/4s 480x320 @2x CC
iPhone5/5s/se 568x320 @2x CC
iPhone6/7/8 667x375 @2x CC
iPhone6+/7+/8+ 736x414 @3x RC
iPhoneX 812x375 @3x CC
  • iPad
設(shè)備 開發(fā)尺寸 倍數(shù) sizeClass
豎屏
iPad 7.9/9.7 768x1024 @2x RR
iPad 10.5 834x1112 @2x RR
iPad 12.9 1024x1366 @2x RR
橫屏
iPad 7.9/9.7 768x1024 @2x RR
iPad 10.5 834x1112 @2x RR
iPad 12.9 1024x1366 @2x RR
  • iPad 分屏
設(shè)備 開發(fā)尺寸 倍數(shù) sizeClass
iPad 7.9/9.7 橫屏 大 694x768 @2x RR
iPad 7.9/9.7 橫屏 中 507x768 @2x CR
iPad 7.9/9.7 橫屏 小 320x768 @2x CR
iPad 7.9/9.7 豎屏 大 438x1024 @2x CR
iPad 7.9/9.7 豎屏 小 320x1024 @2x CR
iPad 10.5 橫屏 大 782x834 @2x RR
iPad 10.5 橫屏 中 551x834 @2x CR
iPad 10.5 橫屏 小 320x834 @2x CR
iPad 10.5 豎屏 大 504x1112 @2x CR
iPad 10.5 豎屏 小 320x1112 @2x CR
iPad 12.9 橫屏 大 981x1024 @2x RR
iPad 12.9 橫屏 中 678x1024 @2x RR
iPad 12.9 橫屏 小 375x1024 @2x CR
iPad 12.9 豎屏 大 639x1366 @2x CR
iPad 12.9 豎屏 小 375x1366 @2x CR

100% 使用自動布局 ?

  • 想要針對性布局肯定不靠譜啊
  • 參考 h5 使用流動布局

寬:完全按比例,包括間隔,使用容器百分制寬度
高:從上往下堆疊,下面留白,適當使用 footer

字體

  • 不方便,只能特殊設(shè)置,很難受,考慮別的辦法

使用 sizeClass

  • iOS 8 就開始有了,現(xiàn)在用很舒服,以前基本沒用過啊
  • width:compact,regular,any
  • height:compact,regular,any

蘋果的分類

  • 按分類補充了上面的分辨率表
  • 簡單理解:
類似手機:CR
類似平板:RR

手機橫屏:CC
特殊 plus 橫屏:RC

代碼實現(xiàn)

  • 純代碼:使用 UITraitCollection 類即可,已經(jīng)更新在 UIKit API 部分
  • sb:很方便,大部分屬性邊上就可以 +,跟按鈕一樣設(shè)置狀態(tài)即可

相關(guān)思考

  • 根據(jù)蘋果的分類,compact,regular,any
  • 組合后就是 4 種
  • 那么不論是 UI 適配,還是 字體 適配等, 都使用統(tǒng)一的分類適配方案即可
  • 如果 iPhone 僅豎屏,iPad 4 周旋轉(zhuǎn),只需要 2 套 適配方案 CR 和 RR

總結(jié)

  • iOS 11 之后,iPad 有完全分屏之后,sizeClass 就十分有用,僅 iPad 上就需要 2 中布局,僅使用設(shè)備判斷的方式,肯定不滿足適配要求
  • 使用 iPhone 豎屏,iPad 4 周旋轉(zhuǎn),適配 CR 和 RR 2 套方案即可適配 iPhone 和 iPad,而且支持 分屏
  • 針對 iPhone 內(nèi)部 5、6、6p、X 的特殊適配另講

后續(xù)問題

  • iPad 橫版的話,寬度特別大,跟豎屏的用一個排版得難看,一般會變成左右排版
  • 僅根據(jù) sizeClass 又不好判斷,再根據(jù)設(shè)備旋轉(zhuǎn)方向適配,又是一條不歸路
  • 如果 iPad 版統(tǒng)一搞成橫版好像效果也還不錯,具體情況再說
  • 或者與瀏覽器一樣 2 邊留白
?著作權(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)容