Swift API 参考
提示
API 参考文档中的代码示例为通用内容,建议参阅 英文版 API 参考 获取完整文档。
MasonrySwift 模块提供了类型安全的 Swift 原生 DSL。所有 API 通过 view.mas 命名空间访问。
MASViewDSL(view.mas)
Swift 约束构建的主要入口。
约束方法
| 方法 | 说明 |
|---|---|
makeConstraints(_:) | 创建并安装约束 |
updateConstraints(_:) | 更新已有约束 |
remakeConstraints(_:) | 移除所有约束并重新创建 |
prepareConstraints(_:) | 创建约束但不安装 |
removeConstraints() | 移除所有 Masonry 约束 |
使用示例
view.mas.makeConstraints { make in
make.edges.equalTo(superview).inset(16)
}
运算符
Swift 模块支持基于运算符的约束创建:
| 运算符 | 关系 | 支持的右值类型 |
|---|---|---|
== | 等于 | ViewAttribute、UIView、CGFloat、Int、Double、CGSize、CGPoint、UIEdgeInsets |
>= | 大于等于 | 同上 |
<= | 小于等于 | 同上 |
~ | 设置优先级 | MASConstraintPriority、数值 |
view.mas.makeConstraints { make in
make.top == superview.mas.top + 20
make.width <= 200
make.height == 44 ~ .defaultHigh
}
数组扩展
批量操作视图数组:
let views = [view1, view2, view3]
views.mas_makeConstraints { make in
make.height == 44
}
views.mas_distributeViews(along: .horizontal,
withFixedSpacing: 10,
leadSpacing: 5,
tailSpacing: 5)