AutoInch - 优雅的iPhone等比例/全尺寸精准适配工具
🇨🇳 天朝子民
特点
- 数值类型快速转换
- Storyboard 等比缩放适配
- Xib 等比缩放适配
- 自定义计算处理
- 快速匹配每种屏幕尺寸类型
安装
CocoaPods - Podfile
pod 'AutoInch'
Carthage - Cartfile
github "lixiang1994/AutoInch"
苹果平台上的 Swift 包管理器
选择 Xcode 菜单 文件 > Swift 包 > 添加包依赖
并使用图形界面输入仓库 URL。
Repository: https://github.com/lixiang1994/AutoInch
Swift 包管理器
将以下内容添加到 Package.swift
的依赖中
.package(url: "https://github.com/lixiang1994/AutoInch.git", from: "version")
用法
首先请确保导入框架
import AutoInch
以下是使用示例。所有设备作为模拟器也都可以使用
自动
AutoLayout (SnapKit)
private func setupLayout() {
cardView.snp.makeConstraints { (make) in
make.top.equalTo(16.auto())
make.left.right.equalToSuperview().inset(15.auto())
make.bottom.equalTo(-26.auto())
}
lineView.snp.makeConstraints { (make) in
make.left.right.equalToSuperview().inset(15.auto())
make.top.equalTo(titleLabel.snp.bottom)
make.height.equalTo(1)
}
titleLabel.snp.makeConstraints { (make) in
make.top.equalToSuperview()
make.left.equalTo(15.auto())
make.height.equalTo(48.auto())
}
stateLabel.snp.makeConstraints { (make) in
make.top.equalTo(lineView).offset(10.auto())
make.left.equalTo(15.auto())
make.height.equalTo(15.auto())
}
}
属性 (Then)
private lazy var cardView = UIView().then {
$0.cornerRadius = 6.auto()
$0.backgroundColor = .white
}
private lazy var lineView = UIView().then {
$0.backgroundColor = .hex("000000", alpha: 0.05)
}
private lazy var titleLabel = UILabel().then {
$0.textColor = .black
$0.font = .systemFont(ofSize: 20.auto(), weight: .medium)
}
private lazy var stateLabel = UILabel().then {
$0.textColor = .gray
$0.font = .systemFont(ofSize: 12.auto(), weight: .medium)
}
Storyboard / Xib
屏幕
例如:
// default other screen numberOfLines = 0
// 3.5 inches screen numberOfLines = 1
// 4.0 inches screen numberOfLines = 2
label.numberOfLines = 0.screen.inch(._3_5, is: 1).inch(._4_0, is: 2).value
// default other screen numberOfLines = 0
// width 320 screen numberOfLines = 1
// width 375 inches screen numberOfLines = 2
label.numberOfLines = 0.screen.width(._320, is: 1).width(._375, is: 2).value
print("this is " +
"default".screen
.width(._320, is: "width 320")
.width(._375, is: "width 375")
.height(._844, is: "height 844")
.height(._812, is: "height 812")
.inch(._4_7, is: "4.7 inches")
.inch(._5_8, is: "5.8 inches")
.inch(._6_5, is: "6.5 inches")
.level(.compact, is: "screen 3: 2")
.level(.regular, is: "screen 16: 9")
.level(.full, is: "screen 19.5: 9")
.value
)
截图
贡献
如果您需要实现特定功能或有遇到错误,请提出一个问题。如果您扩展了AutoInch的功能并希望其他人也能够使用,请提交一个分支请求。
许可
AutoInch遵循MIT许可证。有关更多信息,请参阅LICENSE文件。
相关文章 Inch
相关文章 Auto
相关文章 Auto
欢迎入群交流