1. 系统要求
- iOS 9.0+
- Xcode 10.0+
- Swift 4.2+
2. 安装
1. CocoaPods
CocoaPods 是 Cocoa 项目的依赖管理工具。您可以使用以下命令安装它
$ gem install cocoapods
要构建 DCAutoLayout 1.0.0+,需要 CocoaPods 1.1.0+。
要使用 CocoaPods 将 DCAutoLayout 集成到您的 Xcode 项目中,请在您的 Podfile
中指定它
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
use_frameworks!
target '<Your Target Name>' do
pod 'DCAutoLayout', '~> 1.0.1'
end
然后,运行以下命令
$ pod install
2. Carthage
Carthage 是一个去中心化的依赖管理工具,它会构建您的依赖并提供二进制框架。
您可以使用以下命令,通过 Homebrew 安装 Carthage
$ brew update
$ brew install carthage
要使用 Carthage 将 DCAutoLayout 集成到您的 Xcode 项目中,请在您的 Cartfile
中指定它
github "DarielChen/DCAutoLayout"
运行 carthage update
构建框架,并将构建的 DCAutoLayout.framework
拖入您的 Xcode 项目中。
3.手动
如果您不希望使用上述任何依赖管理器,可以手动将SnapKit集成到您的项目中。
3.使用
1.快速入门
import DCAutoLayout
class ViewController: UIViewController {
lazy var label = UILabel()
override func viewDidLoad() {
super.viewDidLoad()
label.backgroundColor = UIColor.groupTableViewBackground
view.addSubview(label)
label.layout {
$0.topAnchor == view.safeAreaTopAnchor + 20
$0.leadingAnchor == view.leadingAnchor + 20
$0.trailingAnchor == view.trailingAnchor - 20
$0.heightAnchor == 44
}
}
}
2.设置父视图的边距为20像素。
label.layout {
$0.topAnchor == view.topAnchor + 20
$0.leadingAnchor == view.leadingAnchor + 20
$0.trailingAnchor == view.trailingAnchor - 20
$0.bottomAnchor == view.bottomAnchor - 20
}
甚至更短
label.layout {
$0 == view.marign(20, 20, 20, 20)
}
>=
、<=
表示大于等于
、小于等于
。
3.您可以使用>=
或<=
来改变锚点。
label.layout {
$0.centerAnchor == view.centerAnchor
$0.widthAnchor == view.bounds.width - 40
$0.heightAnchor >= 44
}
将高度设置为88像素。
label.layout {
$0.heightAnchor == 88
}
4.组合
边距
label.layout {
$0 == view.marign(20, 20, 20, 20)
}
大小
label.layout {
$0.sizeAnchor == view.size(100, 44)
}
居中
label.layout {
$0.centerAnchor == view.centerAnchor
}
5.updateConstraints
>=
、<=
更新约束。
使用 label.layout {
$0.heightAnchor >= 44
}
更新约束。
label.layout {
$0.heightAnchor == 88
}
reset anchor
在删除heightAnchor后设置heightAnchor。
label.layout {
$0.removeAnchor($0.heightAnchor)
$0.heightAnchor == 88
}
clear all anchor
在删除所有锚点后设置任意锚点。
label.removeAllAnchor()
label.layout {
$0.removeAnchor($0.heightAnchor)
$0.heightAnchor == 88
}
4.License
DCAutoLayout在MIT许可下发布。请参阅LICENSE文件了解详细信息。