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...