본격적으로 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 |