Yalta 1.1

Yalta 1.1

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最新发布2019年4月
SPM支持 SPM

kean 维护。



Yalta 1.1

⛵️Yalta

一个直观且强大的Auto Layout库。

整个库只包含一个文件,少于300行代码,您可以将其直接拖放到您的应用中。

Yalta遵循Swift API设计指南,力求清晰简洁。虽然大多数API都很紧凑,但使语法尽可能简洁并非目标。相反,Yalta提供了一个流畅的API,使其使用位点形成语法上的英语短语——这就是Swift代码真正出色的原因。

锚点

首先选择一个视图(或布局指南)的锚点或一组锚点。然后使用锚点的方法定义约束。

锚点表示视图的布局属性,包括边缘尺寸基准线

每个锚点和锚点集合都有针对该特定类型的锚点定制的方。

Constraints(for: title, subtitle) { title, subtitle in
    // Align one anchor with another
    subtitle.top.align(with: title.bottom + 10)

    // Align center with a superview
    title.centerX.alignWithSuperview()

    // Manipulate dimenstions
    title.width.set(100)
    subtitle.width.match(title.width * 2)

    // Change a priority of constraints inside a group:
    subtitle.bottom.pinToSuperview().priority = UILayoutPriority(999)
}

也可以通过使用.al代理来访问所有锚点。

title.al.top.pinToSuperview()

访问锚点的最好方法是使用特殊的addSubview(_:constraints:)方法(支持最多4个视图)。以下是使用锚点可以做什么的一些示例

view.addSubview(subview) {
    $0.edges.pinToSuperview(insets: Insets(10)) // Pin to superview edges
}
view.addSubview(subview) {
    $0.edges.pinToSuperviewMargins() // Or margins
}
view.addSubview(subview) {
    $0.edges(.left, .right).pinToSuperview() // Fill along horizontal axis
    $0.centerY.alignWithSuperview() // Center along vertical axis
}

使用addSubview(_:constraints:)方法,您可以在定义视图层级的同时同时布局视图。这鼓励将布局代码拆分成逻辑块,防止一些编程错误(例如,尝试向不属于视图层级的视图添加约束)。

Yalta有完整的测试覆盖。如果您想了解每次调用其方法时Yalta创建哪些约束(NSLayoutConstraint),则测试用例是入门的好地方。

需求

RxNuke Swift Xcode 平台
Yalta 1.1 Swift 4.2 – 5.0 Xcode 10.1 – 10.2 iOS 10.0 / tvOS 10.0
Yalta 1.0 Swift 4.0 – 4.2 Xcode 9.2 – 10.1 iOS 9.0 / tvOS 9.0

为什么选择 Yalta

为以下用户所设计:

Yalta 是黑 Sea 上的一个美丽港口城,是一个带有 锚点又一个新的布局工具 的好名字。