-
什么是適配:
適應(yīng)、兼容不同版本不同尺寸的移動(dòng)智能設(shè)備
iPhone尺寸:3.5泊碑、4.0坤按、4.7、5.5 inch(英寸)
iPad尺寸:7.9馒过、9.7inch臭脓,橫豎屏適配
-
點(diǎn)與像素
非retaina屏:1個(gè)點(diǎn) = 1個(gè)像素
retain屏:1個(gè)點(diǎn) = 4個(gè)像素 -
設(shè)備分辨率
Paste_Image.png 什么是Autolayout
1> 是一種“自動(dòng)布局”技術(shù),專門用來布局UI界面的
2> 自iOS 6開始引入腹忽,由于Xcode 4的不給力来累,當(dāng)時(shí)并沒有得到很大推廣
3> 自iOS 7(Xcode 5)開始,Autolayout的開發(fā)效率得到很大的提升
4> 蘋果官方也推薦開發(fā)者盡量使用Autolayout來布局UI界面
5> Autolayout能很輕松地解決屏幕適配的問題
-
Autoresizing
Autoresizing:屏幕適配局限性比較大(如不能布局兄弟控件適配)窘奏,沒Autolayout方便 Autoresizing四周的四個(gè)線的作用:
1.Autoresizing四周的四根線的作用:
只要勾選上某一根, 那么當(dāng)前控件距離父控件的距離就是固定的, 當(dāng)前是多少, 以后永遠(yuǎn)都是多少2.Autoresizing中間兩條線的作用:
只要勾選上水平方向的線, 那么當(dāng)前控件的寬度就會隨著父控件的寬度等比拉伸
只要勾選上垂直方向的線, 那么當(dāng)前控件的高度就會隨著父控件的高度等比拉伸3.有父子無兄弟
還是讓子控件隨著父控件的寬高的變化而變化
都是父子關(guān)系, 所以Autoresizing只能約束父子控件之間的關(guān)系, 不能約束兄弟控件之間的關(guān)系(有局限性相比較Autolayout)
2> Autoresizing實(shí)例一:放四個(gè)View到storyboard四個(gè)角嘹锁,適配不同屏幕尺寸。
(2) 設(shè)置四周View的指定位置即可着裹。
-
Autolayout屏幕適配
1> Autoresizing,在Autolayout之前领猾,有Autoresizing可以作屏幕適配,但局限性 較大骇扇,有些任務(wù)根本無法完成
2> 相比之下瘤运,Autolayout的功能比Autoresizing強(qiáng)大很多
3> Autolayout的2個(gè)核心概念
3.1 參照
3.2 約束
1.約束
每在Storyboard中添加一個(gè)設(shè)置(autolayout的設(shè)置), 就代表添加一個(gè)約束2.錯(cuò)誤(紅色箭頭)
如果看到Storyboard中有紅色的箭頭, 代表約束有錯(cuò)誤
注意: 約束有錯(cuò)誤, 不代表運(yùn)行會錯(cuò)誤, 約束有錯(cuò)誤同樣可以運(yùn)行
注意: 紅色箭頭是程序員必須解決的3.為什么會有約束錯(cuò)誤?
3.1缺少約束
3.2約束沖突
3.1缺少約束
>autolayout的本質(zhì)和frame差不多
>如果通過frame來設(shè)置一個(gè)控件, 必須設(shè)置這個(gè)控件的x/y/w/h, 控件才能按照我們的需求顯示
>如果是通過autolayout來設(shè)置一個(gè)控件, 也必須設(shè)置這個(gè)控件的x/y/w/h, 控件才能按照我們的需求顯示
>也就是說, 如果說x/y/w/h只要有一個(gè)沒有設(shè)置都會報(bào)錯(cuò), 就是缺少約束
3.2約束沖突
>約束可以重復(fù)添加
>例如先約束寬度等于100, 又添加一個(gè)約束, 約束寬度等200, 那么就會報(bào)錯(cuò)
紅色:
距離頂部有20 == 相當(dāng)于設(shè)置了Y
距離左邊有20 == 相當(dāng)于設(shè)置了x
設(shè)置寬度等于100
設(shè)置高度等于1004.警告
如果看到Storyboard中有黃色的箭頭, 就是警告代表著當(dāng)前控件預(yù)覽的位置或者尺寸和我們約束的位置尺寸不一樣
注意:黃金警告并不會影響我們運(yùn)行
注意:黃色箭頭, 程序員可以忽略
處理屏幕適配:
第一種方式:通過storyboard右下角圖案處,點(diǎn)擊可進(jìn)行處理屏幕適配
1.對齊方法可設(shè)置(storyboard右下角可見)
2匠题、設(shè)置相對位置、寬高等
3但金、設(shè)置控件與所有控件的約束操作(刪除與更新等操作于約束)
第二種方式:按住“control”鍵韭山,可以在控件自己,或者直接拖拽到其他控件上冷溃,會彈出對話框钱磅,可選擇添加約束,來適配
注意:往左邊相對左邊似枕,同理向右邊相對右邊設(shè)置約束盖淡,向下相對底部,向上相對頂部