CocoaPods:
导入项目中的方法:
使用 CocoaPods: 请先安装cocoapods,如果版本太老无法找到,请升级cocopods到最新版本 命令:pod repo update
第一步:Podfile中添加
pod 'SBLayout', '~>4.5'
并使用命令pod install完成导入
第二步:
import SBLayout
exampleView.top(equalTo: aView.sb_top)
exampleView.bottom(equalTo: aView.sb_bottom)
exampleView.left(equalTo: aView.sb_left)
或者
exampleView.leading(equalTo: view.sb_leading)
exampleView.right(equalTo: aView.sb_right)
或者
exampleView.trailing(equalTo: aView.sb_ trailing)
exampleView.width(constant)
exampleView.height(constant)
exampleView.centerX(equalTo: aView.sb_centerX)
exampleView.centerY(equalTo: aView.sb_centerY)
因为SBLayout每个点约束后返回的是UIView,所以所有的约束点都可以继续在语句后面添加任意想添加的约束,如下:
exampleView.top(equalTo: view.sb_top).left(equalTo: view.sb_left).right(equalTo: view.sb_right).bottom(equalTo: view.sb_bottom).end()
也可以这样:
exampleView.edges(with: view).end()
exampleView.top(equalTo: view.safe_top).left(equalTo: view.safe_left).right(equalTo: view.safe_right).bottom(equalTo: view.safe_bottom).end()
也就是将sb_*前缀改成safe_*前缀。safe_*前缀主要是用与适配在iOS11系统上与视图控制器self.view的约束。非视图控制器视图的self.view用sb_*更好。
let redView = UIView()
redView.backgroundColor = .red
self.view.addSubview(redView)
//使用SBLayout约束
//默认的优先级是最高的,set开头可以设置优先级
redView.height(100).width(200).centerX(equalTo: view.sb_centerX).top(equalTo: view.sb_top, constant: 100).setWidth(400, priority: .defaultLow).end()
let blueView = UIView()
blueView.backgroundColor = .blue
view.addSubview(blueView)
//使用SBLayout约束
blueView.top(equalTo: redView.sb_bottom, constant: 100).left(equalTo: view.sb_left).right(equalTo: view.sb_right).bottom(equalTo: view.sb_bottom, constant: -50).end()