AdaptationKit
特点
- 快速适应各种屏幕。
- 自动计算英寸和字体。
- 支持运算符。
- 支持 IBInspectable。
- 自定义适应规则。
用法
首先导入框架。
import AdaptationKit
ScreenMatchable
快速适应各种屏幕。支持 Int,Float,Double,String,CGRect,CGSize,CGFloat,CGPoint,UIEdgeInsets。
label.text = "I am " +
"unkown screen"
.i4("iPhone 4 like screen.")
.i8("iPhone 8 like screen.")
.i8P("iPhone 8Plus like screen.")
.iX("iPhone X like screen.")
.iXR("iPhone XR like screen.")
.iXMAX("iPhone XS MAX like screen.")
.p97("iPad 9.7 like screen.")
.p105("iPad 10.5 like screen.")
.p11("iPad 11 like screen.")
.p129("iPad 12.9 like screen.")
/*
* default numberOfLines = 0
* iPad numberOfLines = 1
* iPhone(In addition to iPhone XS Max) numberOfLines = 2
* iPhone XS Max numberOfLines = 3
*/
label.numberOfLines = 0.pad(1).phone(2).iXMAX(3)
/*
* default value = "0"
* iPad 9.7 & iPhone X value = "1"
*/
let value = "0".match([.p97, .iX], "1")
扩展您需要的其他类型。
extension YouType: ScreenMatchable {}
Adaptable
自动计算英寸和字体。
/*
* default(iPhone 8) width = 12.0
* iPhone 4 width = 10.24
* iPhone X MAX width = 13.248
* ...
*/
testView.snp.makeConstraints { (make) in
make.width.equalTo(12.adaptInch())
}
/*
* default(iPhone 8) size = 12.0
* iPhone 4 size = 10.24
* iPhone X MAX size = 13.248
* ...
*/
label.font = UIFont(name: label.font.fontName, size: 12.0.adaptFont())
// operator
// ~ means adaptInch()
// ≈ means adaptFont()
testView.snp.makeConstraints { (make) in
make.width.equalTo(12~)
}
label.font = UIFont(name: label.font.fontName, size: 12.0≈)
UI
adaptFont
支持UILabel,UITextView,UITextField。
label.adaptFont = true // equal to label.font = UIFont(name: label.font.fontName, size: font.pointSize.adaptFont())
adaptConstant
自动计算LayoutConstraint的常数。
constraint.adaptConstant = true
AdaptationRule
以上所有自动计算均基于默认规则(AdaptationRule.default)。
如果您想自定义计算规则,可以通过调用set方法实现。
let inchRule = AdaptationRule(baseScreen: .i8)
inchRule.set(screen: .i4, ratio: 0.5)
inchRule.set(screen: .iXMAX, ratio: 1.3)
AdaptationKit.set(inchRule: inchRule)
let fontRule = AdaptationRule(baseScreen: .i8)
fontRule.set(screen: .i4, ratio: 0.6)
fontRule.set(screen: .iXMAX, ratio: 1.5)
AdaptationKit.set(fontRule: fontRule)
示例
要运行示例项目,首先要从仓库中克隆,然后在示例目录中运行pod install
。
安装
AdaptationKit可以通过CocoaPods获得。要安装它,只需在Podfile中添加以下行
pod 'AdaptationKit'
作者
catchzeng, [email protected]
许可证
AdaptationKit遵循MIT许可证。有关更多信息,请参阅LICENSE文件。