본격적으로 snapkit으로 하나씩 만들어 본다.
1.가운데 빨간색 네모 박스를 하나 만든다.
lazy property를 이용해서 view를 하나 생성해둔다.
class View1Controller: UIViewController {
var didSetupConstraints = false
let redView: UIView = {
let view = UIView()
view.backgroundColor = UIColor.red
return view
}()
override func viewDidLoad() {
super.viewDidLoad()
self.initUI()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
static func instance()->View1Controller{
let vc = View1Controller()
return vc
}
}
//snapkit
extension View1Controller {
func initUI() {
self.view.backgroundColor = .white
self.view.addSubview(self.redView)
view.setNeedsUpdateConstraints()
}
override func updateViewConstraints() {
if (!didSetupConstraints) {
//tableView
redView.snp.makeConstraints { make in
make.size.equalTo(100)
make.center.equalToSuperview()
}
didSetupConstraints = true
}
super.updateViewConstraints()
}
}
2.redview를 lazy로 만들어 두고 initUI에서 view에 추가한다.
그리고 setNeedsUpdateConstraints를 호출해서 view의 updateViewConstraints가 호출 되도록 한다.
didSetupConstraints를 이용해서 한번만 snapkit를 잡아둔다.
https://github.com/choiks14/SnapkitTest
'swift > snapkit' 카테고리의 다른 글
| snapkit(6) (0) | 2017.06.25 |
|---|---|
| snapkit(5) (0) | 2017.06.18 |
| snapkit(4) (0) | 2017.06.18 |
| snapkit(2) (0) | 2017.06.18 |
| snapkit(1) (0) | 2017.06.18 |