SBEasyLayout 1.0.1

SBEasyLayout 1.0.1

Batuhan Saka维护。



SBEasyLayout📐

MIT Swift

轻松布局视图!您将在短时间内以编程方式编写约束。

首先,感谢 John Sundell (@johnsundell) 的“在 Swift 中构建 DSL”帖子。它允许以更有效和更简单的方式使用自动布局功能。

安装

EasyLayout 可通过 CocoaPods 获取。要安装它,只需将以下行添加到 Podfile 中

pod 'SBEasyLayout'

示例

有几个用法示例

NSLayoutAnchor

label.layout {
    $0.top == view.topAnchor + 5
    $0.leading == view.leadingAnchor + 5
    $0.trailing == view.trailingAnchor - 5
}
button.layout {
    $0.centerX == view.centerXAnchor
    $0.centerY == view.centerYAnchor
}
label.layout {
    $0.top == button.bottomAnchor + 20
    $0.leading == button.leadingAnchor
    $0.width <= view.widthAnchor - 40
}

NSLayoutDimension

view.layout {
    $0.width == 100
    $0.height == 100
}

view.layout {
    $0.width <= view.widthAnchor - 40
    $0.height <= view.heightAnchor - 50
}

使用乘数和常数

view.layout {
    $0.width <= (view.widthAnchor, 1.0, 1.0)
}

除此之外,如您所见,我们有一系列操作符来表示 Apple 的 NSLayoutAnchor API 的一些方法,例如:constraint(greaterThanOrEqualToConstant: CGFloat) -> NSLayoutConstraintconstraint(lessThanOrEqualToConstant: CGFloat) -> NSLayoutConstraint

您可以在下面看到它们。

NSLayoutAnchor 操作符及等价函数

操作符 实际方法
== constraint(equalTo anchor: Self, constant: CGFloat) -> NSLayoutConstraint
>= constraint(greaterThanOrEqualToConstant: CGFloat) -> NSLayoutConstraint
<= constraint(lessThanOrEqualToConstant: CGFloat) -> NSLayoutConstraint

NSLayoutDimension 操作符及等价函数

操作符 实际方法
== constraint(equalToConstant: CGFloat) -> NSLayoutConstraint
>= constraint(greaterThanOrEqualToConstant: CGFloat) -> NSLayoutConstraint
<= constraint(lessThanOrEqualToConstant: CGFloat) -> NSLayoutConstraint
== constraint(equalTo: Self, multiplier: CGFloat, constant: CGFloat) -> NSLayoutConstraint
>= constraint(greaterThanOrEqualTo: Self, multiplier: CGFloat, constant: CGFloat) -> NSLayoutConstraint
<= constraint(lessThanOrEqualTo: Self, multiplier: CGFloat, constant: CGFloat) -> NSLayoutConstraint

此外,您还可以轻松地将视图固定到父视图的边缘。

view.fillSuperview()

许可证

EasyLayout 在 MIT 许可下发布。有关更多信息,请参阅 LICENSE.md