iOS開發日誌 多螢幕適配

2021-08-13 15:18:19 字數 1563 閱讀 7120

ios現在已經進入雜屏時代,想想5年前的320*480跟320*568...

在iphone6的年代,我們多數的適配方案是簡單的縮放,然而現在已經進入齊劉海時代,這種方案已經不適合了,我們不得不使用別的適配方案,這裡簡單理一下自動布局+trait variations(size class)。

自動布局這裡就不提了,習慣於用storyboard布局的同學們肯定對它不陌生。筆者目前用的xcode9+,為了支援ios8,所以關閉safe area。

trait variations是size class的公升級版,在xcode8開始的,被要求適配齊劉海的同學肯定已經是xcode9+了,所以我們就用trait variations稱呼這種技術。

蘋果為我們創造了乙個概念,即regular/compact/any,從字面上理解為:標準/緊縮/任何。

這個概念有點讓人摸不到頭腦,簡單點說,蘋果認為1024*768為ios裝置的標準螢幕比例,目前ipad都是這種比例,所以任何ipad,無論橫豎屏,都是標準寬高,即wr hr。

iphone裝置在豎屏情況下,一般成年人都可以乙隻手橫向握住,我們可以認為蘋果得地為了讓我們能這樣握住,而對寬度由標準寬度進行了緊縮,所以目前所有iphone豎屏都是wc hr。

iphone橫屏情況下就有區別了,iphone從6代開始有了plus版本,也就是大屏版本,我們可以理解大屏版本的iphone在橫屏情況下,一般人的手無法很舒服的橫向握住,所以所有plus版本的iphone在橫屏下是都是wr hc,豎屏下都是wc hr,非plus版本橫屏都是wc hc。

當然,如果有的妖孽手足夠大,12.9 inch的ipad pro橫屏你都能輕鬆地乙隻手橫向握住

理解了這個概念之後,我們就可以根據設計師的要求選擇每個view在哪種分類下被裝載,像這樣:

這個view只有在wr hc下才會被裝載,也就是plus版iphone橫屏下才會顯示。

我們也可以為不同分類設定不同的字型,顏色等屬性:

非plus版iphone的橫豎屏

plus版iphone橫屏

ipad

iOS開發 遊戲螢幕適配 SpriteKit

這樣就需要我們考慮不同裝置不同的解析度,處理起來比較麻煩。比如說,按照官方的做法,我們需要提供諸如 xx.png,xx 2x.png,xx 3x.png,xx ipad.png,and xx ipad 2x.png 這樣不同的,另外還有在程式中寫大量 if else if 這樣的 來區分不同的裝置,...

iOS 螢幕適配

螢幕適配 1 螢幕適配的發展過程 計算frame autoreszing 父控制項和子控制項的關係 autolayout 任何控制項都可以產生關係 sizeclass 沒有螢幕適配,直接使用frame固定子控制項的大小 螢幕大小一樣,但是如果進行ipad開發,就需要考慮螢幕適配 螢幕大小不一樣,需要...

iOS螢幕適配

ios的螢幕適配從純frame到autoresizingmask再到autolayout,autoresizingmask autolayout sizeclassesautoresizingmask和autolayout不相容 sizeclasses依賴autolayout autoresizin...