Squidward
Squidward 是一个额外布局锚点类型的集合,旨在补充 UIKit 的现有约束系统。
要求
- iOS 13
- Xcode 13
- Swift 5.5
安装
CocoaPods
CocoaPods 是 Cocoa 项目的依赖管理器。有关使用和安装说明,请访问他们的网站。使用 CocoaPods 将库集成到您的 Xcode 项目中,请在 Podfile 中指定它。
pod 'Squidward', '1.4.2'
Swift 包管理器
Swift 包管理器(Swift Package Manager)是一个自动化 Swift 代码分发的工具,并集成到了 swift
编译器中。
dependencies: [
.package(url: "https://github.com/berbschloe/Squidward.git", from: "1.4.2")
]
使用方法
导入
建议全局添加库,因为它在各个地方导入可能会很烦人。
// Add this to a GlobalImports.swift
@_exported import Squidward
约束条件
旧方法
let childView = UIView()
override func viewDidLoad() {
super.viewDidLoad()
NSLayoutConstraint.activate([
childView.leftAnchor.constraint(equalTo: view.leftAnchor, constant: 10),
childView.rightAnchor.constraint(equalTo: view.rightAnchor, constant: 10),
childView.topAnchor.constraint(equalTo: view.topAnchor, constant: -10),
childView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -10),
])
}
突出显示的方式
let childView = UIView()
override func viewDidLoad() {
super.viewDidLoad()
NSLayoutConstraint.activate {
childView.edgeAnchors.constraint(equalTo: view.edgeAnchors, constant: 10)
}
}
变体
childView.edgeAnchors.constraint(equalTo: view.edgeAnchors) // default zero constant
childView.edgeAnchors.constraint(edges: [.left, .right, .top], equalTo: view.edgeAnchors) // constrain specific edges
childView.edgeAnchors.constraint(
equalTo: view.edgeAnchors,
constant: UIEdgeInsets(top: 10, left: 20, bottom: 30, right: 40) // custom insets with no need to apply a negative
)