一、storyboard自定義cell
核心要點:
1,如何創(chuàng)建,根據(jù)cell的identifier自動創(chuàng)建
2,不需要注冊
3,不需要為cell單獨創(chuàng)建xib
二库说、屏幕的適配
(一)為什么需要做屏幕的適配
橫豎屏情況,界面內(nèi)部的控件根據(jù),界面view的高度和寬度的不同變化,做出相應適配
不同尺寸屏幕的情況,同上
核心:界面內(nèi)部的控件根據(jù)界面的大小的變化而進行適配
iPhone都有哪些尺寸:
分辨率(px:像素點) 程序坐標系單位(pt 點) 美工出圖
iPhone3gs 320*480 320*480 (縮放因子 1) 320*480
iPhone4/4s (4s)640*960 320*480 (縮放因子 2) 640*960
iPhone5/5s 640*1136 320*568 (縮放因子 2) 640*1136
iPhone6/6s 750*1334 375*667 (縮放因子 2) 750*1334
iPhone6 Plus /6s Plus
1080*1920 414*736 (縮放因子 3) 1242*2208
程序里面有一個縮放因子,scale px和pt的縮放比例
px = scale*pt
//iPad的課下自己查,所有的
iPad mini/mini2
iPad 2
iPad air
(二)屏幕的適配都要做哪些事情
改變控件的大小,來適應屏幕的變化
蘋果提供的適配的技術
1,6.0之前 Autosizeing
2,6.0之后 Autolayout (推薦)
程序員自己搞
3,相對坐標 (推薦)
(三)size class
核心:
使用 Compact,Regular据忘,Any怯疤,即緊湊,正常和任意流炕。
三種組合來代表所有的設備的屏幕.
//從 Xcode 6 開始,xib 默認的大小是 600 * 600仅胞。這是因為蘋果在 iOS 8 中新增了一個屏幕適配的技術每辟,叫做 sizeClass。
//實際開發(fā)項目的時候干旧,通常有 iPhone 和 iPad 兩個版本渠欺,兩者內(nèi)容完全一樣,只是 UI 不同椎眯。我們需要建立兩個工程對應實現(xiàn)挠将。sizeClass 拋棄了我們傳統(tǒng)上的屏幕寬高尺寸,它把屏幕的寬高分別抽象為三種情況:Compact盅视,Regular捐名,Any,即緊湊闹击,正常和任意。這樣寬高總共有九種組合成艘,包含了所有 iOS 設備的屏幕類型(iPhone赏半,iPod贺归,iPad,iWatch)断箫。我們就可以在一個 xib 文件中為每個控件在不同類型的屏幕下設置不同約束條件拂酣,達到在不同屏幕下展示不同效果的目的。
//具體寬高組合和屏幕尺寸對應關系如下圖仲义,或者在 xib 中選擇查看婶熬。
//寬高組合中,any * any 組合是默認的埃撵,即 600 * 600赵颅。在這個狀態(tài)下我們設置約束在所有的屏幕分辨率下都會生效。
//如果我們需要為某一個屏幕單獨設置約束暂刘,我們需要選擇我們需要的狀態(tài)饺谬,然后設置約束。
//sizeClass 允許我們?yōu)橥粋€控件在不同的屏幕下設置不同的約束谣拣。
//xib 中設置約束參考如下圖片:
1.Autolayout圖解
2.添加約束
3.xib
(四)使用autolayout動態(tài)計算cell的高度
http://www.th7.cn/Program/IOS/201501/376965.shtml
Content Hugging Priority和Content Compression Resistance Priority
Content Hugging:內(nèi)容壓縮募寨,阻止視圖的實際尺寸比intrinsicContentSize返回的更大
Content Compression Resistance:阻止內(nèi)容壓縮,阻止視圖的實際尺寸比intrinsicContentSize返回的更小森缠。
Content Hugging Priority:內(nèi)容壓縮優(yōu)先級拔鹰,默認為250
Content Compression Resistance Priority:阻止內(nèi)容壓縮優(yōu)先級,默認為750
1,添加合理的約束
2,設置 Content Hugging Priority和Content Compression Resistance Priority
二贵涵、圖片適配
1.@2x 的來源格郁。
2.Image.xcassets 的簡單使用。
3.Image.xcassets 中可以使用 pdf 圖片独悴。
(一)圖片適配
(二)Masonry屬性對照表