MiniLayout
最小的 AutoLayout 方便层。简洁地进行编程约束。
使用
在 textField 上放置标签
// using MiniLayout:
view.constrain(label, at: .leading, to: textField)
view.constrain(textField, at: .top, to: label, at: .bottom, diff: 8)
// without MiniLayout:
view.addConstraint( NSLayoutConstraint(item: label, attribute: .leading, relatedBy: .equal, toItem: textField, attribute: .leading, multiplier: 1, constant: 0) )
view.addConstraint( NSLayoutConstraint(item: textField, attribute: .top, relatedBy: .equal, toItem: label, attribute: .bottom, multiplier: 1, constant: 8) )
在视图中心添加按钮
// using MiniLayout:
view.addConstrainedSubview(button, constrain: .centerX, .centerY)
// without MiniLayout:
view.addSubview(button)
button.setTranslatesAutoresizingMaskIntoConstraints(false)
view.addConstraint( NSLayoutConstraint(item: button, attribute: .centerX, relatedBy: .equal, toItem: view, attribute: .centerX, multiplier: 1, constant: 0) )
view.addConstraint( NSLayoutConstraint(item: button, attribute: .centerY, relatedBy: .equal, toItem: view, attribute: .centerY, multiplier: 1, constant: 0) )
添加覆盖除底部边距外的所有视图的子视图控制器
// using MiniLayout:
addConstrainedChild(vc, constrain: .bottomMargin, .top, .left, .right)
// without MiniLayout:
addChild(vc)
view.addSubview(vc.view)
vc.view.setTranslatesAutoresizingMaskIntoConstraints(false)
view.addConstraint( NSLayoutConstraint(item: vc.view, attribute: .bottomMargin, relatedBy: .equal, toItem: view, attribute: .bottomMargin, multiplier: 1, constant: 0) )
view.addConstraint( NSLayoutConstraint(item: vc.view, attribute: .top, relatedBy: .equal, toItem: view, attribute: .top, multiplier: 1, constant: 0) )
view.addConstraint( NSLayoutConstraint(item: vc.view, attribute: .left, relatedBy: .equal, toItem: view, attribute: .left, multiplier: 1, constant: 0) )
view.addConstraint( NSLayoutConstraint(item: vc.view, attribute: .right, relatedBy: .equal, toItem: view, attribute: .right, multiplier: 1, constant: 0) )
vc.didMove(toParent: self)
安装
手动
将 MiniLayout.swift
添加到您的项目中。
使用 CocoaPods
pod 'MiniLayout'
旧版本
Swift 版本 | MiniLayout 版本 |
---|---|
4.0 (Xcode 9.4) | pod 'MiniLayout', '~> 1.2.1' |
3 | pod 'MiniLayout', '~> 1.1.0' |
2.3 | pod 'MiniLayout', '~> 1.0.1' |