SketchKit 是一个轻量级、功能强大且完全用 Swift 编写的自动布局库,可以使用简单直观的代码设置约束,而无需任何字符串操作。
简而言之,它允许您替换这个
newView.translatesAutoresizingMaskIntoConstraints = false
addConstraint(NSLayoutConstraint(
item: newView,
attribute: NSLayoutConstraint.Attribute.centerX,
relatedBy: NSLayoutConstraint.Relation.equal,
toItem: view,
attribute: NSLayoutConstraint.Attribute.centerX,
multiplier: 1,
constant: 0))
或者
newView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
使用这个
// It's NOT necessary: newView.translatesAutoresizingMaskIntoConstraints = false
newView.layout.applyConstraint { view in
view.centerXAnchor(equalTo: self.view.centerXAnchor)
view.centerYAnchor(equalTo: self.view.centerYAnchor)
}
需求
- iOS 9.0+ / tvOS 9.0+ / macOS 10.11+
- Swift 3.2+
安装
CocoaPods
要使用 CocoaPods 将 SketchKit 集成到您的 Xcode 项目中,请在您的 Podfile
中指定它
target '<Your Target Name>' do
pod 'SketchKit'
end
然后,运行以下命令
$ pod install
Swift Package Manager (SPM)
要将 SketchKit
添加为依赖项,您必须将其添加到您的 Package.swift
文件的 dependencies
中,并在您的 target
中引用该依赖项。
import PackageDescription
let package = Package(
name: "<Your Product Name>",
dependencies: [
.package(url: "https://github.com/dogo/SketchKit", .upToNextMajor(from: "1.0.0"))
],
targets: [
.target(
name: "<Your Target Name>",
dependencies: ["SketchKit"]),
]
)
添加依赖项后,您可以使用以下命令获取库
$ swift package resolve
Carthage
github "dogo/SketchKit"
使用说明
快速入门
import SketchKit
final class MyViewController: UIViewController {
let myView: UIView = {
let view = UIView(frame: .zero)
view.color = .red
return view
}()
override func viewDidLoad() {
super.viewDidLoad()
self.view.addSubview(myView)
myView.layout.applyConstraint { view in
view.topAnchor(equalTo: self.view.topAnchor)
view.leadingAnchor(equalTo: self.view.leadingAnchor)
view.bottomAnchor(equalTo: self.view.bottomAnchor)
view.trailingAnchor(equalTo: self.view.trailingAnchor)
}
}
}
文档
项目文档可以在(这里)找到
致谢
- Nicholas Babo (@NickBabo) 感谢SketchKit的logo设计,
执照
SketchKit是基于MIT许可证发布的。有关详细信息,请参阅LICENSE。