Layout
Building Autolayout DSLs
一种简单的使用Autolayout的方式
使用示例:
view1.layout { (proxy) in
proxy.topAnchor.equal(to: view.topAnchor)
proxy.leadingAnchor.equal(to: view.leadingAnchor)
proxy.widthAnchor.equal(to: view.widthAnchor, multiplier: 0.5, constant: 50)
proxy.heightAnchor.equal(to: view2.heightAnchor)
}
view2.layout { (proxy) in
proxy.centerXAnchor.equal(to: view.centerXAnchor)
proxy.centerYAnchor.equal(to: view.centerYAnchor)
proxy.widthAnchor.equal(to: view1.widthAnchor, multiplier: 0.3)
proxy.heightAnchor.equal(to: 100)
}
也可使用运算符:
view1.layout {
$0.topAnchor == view.topAnchor + 100
$0.centerXAnchor == view.centerXAnchor
$0.widthAnchor == view.widthAnchor * 0.2 + 30
$0.heightAnchor == view.heightAnchor * 0.3 - 20
}
view2.layout {
$0.topAnchor == view1.bottomAnchor + 20
$0.centerXAnchor == view1.centerXAnchor + 20
$0.widthAnchor == view1.widthAnchor
$0.heightAnchor == 50
}