在日常開發中常常會對裝置進行一定的適配,為了方便在多個專案裡統一管理和使用,所以封裝並開源了
SwiftyFitsize
這個庫,可用於適配檢視及字型大小,同時也支援 xib 和 storyboard
GitHub: SwiftyFitsize
最終的效果如下圖所示
安裝
使用Cocoapods安裝,或手動拖入專案
pod 'SwiftyFitsize'
複製程式碼
使用
SwiftyFitsize
在預設狀況下所使用的參照寬度為iphone6
的375
如果設計圖所選用裝置的寬度與預設值不同,可以在AppDelegate
下初始化所參照的寬度
SwiftyFitsize.reference(width: 414)
複製程式碼
下面列出一些裝置對應的解析度,方便查詢
裝置 | 邏輯解析度(point) | 裝置解析度(pixel) |
---|---|---|
SE | 320x568 | 640x1136 |
6(S)/7/8 | 375x667 | 750x1334 |
6(S)+/7+/8+ | 414x736 | 1080x1920 |
X(S) | 375x812 | 1125x2436 |
XR | 414x896 | 828x1792 |
XS Max | 414x896 | 1242x2688 |
使用也是非常方便的,只需要在Number
、UIFont
、CGPoint
、CGSize
、UIEdgeInsetsMake
這些型別的值後面加上~
即可
100~
UIFont.systemFont(ofSize: 14)~
CGPoint(x: 10, y: 10)~
CGSize(width: 100, height: 100)~
CGRect(x: 10, y: 10, width: 100, height: 100)~
UIEdgeInsetsMake(10, 10, 10, 10)~
複製程式碼
xib / storyboard 字型適配
支援控制元件 UILabel
UIButton
UITextView
UITextField
xib / storyboard 約束適配
注:~
請不要相互巢狀使用,如
CGPoint(x: 10~, y: 10~)~
複製程式碼