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