μ€ν 리보λλ‘ μ€ν λ₯Ό μ‘μλλ translatesAutoresizingMaskIntoConstraints μμ±μ΄ μλμΌλ‘ falseλ‘ λ°μλλ€. νμ§λ§ μ½λλ‘ μ§€λλ κ·Έλ μ§ μκΈ° λλ¬Έμ μ§μ translatesAutoresizingMaskIntoConstraints = falseλ₯Ό ν΄ μ£Όμ΄μΌ νλ€(SnapKitμ¬μ©μμλ μλμΌλ‘ λλκ±Έλ‘ μκ³ μμ).
-
NSLayoutConstaint
μμ±κ°λ€μ΄ μ’ κΈΈμ§κ³ μ§κ΄μ μΈνΈμ΄λ μ½λκ° κΈΈμ΄μ§κ² λλ©΄ κ°λ μ±μ΄ λ¨μ΄μ§λ νΈμ΄λ€.
NSLayoutConstraint(item: alertView, attribute: .leading, relatedBy: .equal, toItem: messageLabel, attribute: .leading, multiplier: 1.0, constant: 8).isActive = true
-
NSLayoutAnchor
- μ μΌ λ§μ΄ μ°μ΄λ κ² κ°λ€.μ¬μ©μ±μ μν΄ SnapKit λΌμ΄λΈλ¬λ¦¬λ₯Ό ν¨κ» νμ©νλνΈμ΄λ€.
μλλ
NSLayoutConstaint
λ₯Ό μ¬μ©νμ¬ μ€ν λ μ΄μμμ μμ±νλ€. κ·Έλ¬λ μμ κΈ°μ νλ― κ°λ μ± μΈ‘λ©΄μμ λ¨μ μ΄ μμκΈ°λλ¬Έμ μλ‘κ² Appleμμ λ΄μ€ λ°©μμ΄λ€. μ½λκ° λ§μ°¬κ°μ§λ‘ κΈΈμ΄μ§κΈ΄νλ κ·Έλλ λ³΄λ€ κ°λ μ±μ΄ μ’μμ‘λ€.NSLayoutConstraint.activate([ button.centerXAnchor.constraint(equalTo: view.centerXAnchor), ... ])
-
Visual Format Language(VFL)
μ΄κ±΄ μ²μ λ£λ κ±΄λ° κ°λ¨νκ² λ§νλ©΄ κΈ°νΈ λ° λ¬Έμμ΄λ‘ λ μ΄μμ κ΄κ³λ₯Ό μκ°μ μΈ ννμΌλ‘ νμνλ κ±°λΌκ³ νλ€. λ·°λ λκ΄νΈλ‘ νμλκ³ λ·°κ°μ μ°κ²°μ νμ΄ν(λλ λ·°λ€μ λ¨μ΄λ¨λ¦¬λ μ«μμ μν΄ λκ°μ λΆλ¦¬λ νμ΄ν)μ μ¬μ©νλ€.
NSLayoutConstraint
λ₯Ό μ΄μ©ν΄μ μμ±νλ€.μ¬μ©μ΄ μ΅μν΄μ§λ©΄ νΈλ¦¬νλ€κ³ νλλ° μ¬μ©μ μν΄
VFL
λ§μλ¬Έλ²μ μ΅νμΌνκΈ° λλ¬Έμ νμ μμ λμ νκΈ°μ λ¨μ μ‘΄μ¬νλ κ² κ°λ€.let views = ["myView": myView] let formatString = "|-[myView]-|" let constraints = NSLayoutConstraint.constraintsWithVisualFormat(formatString, options: .AlignAllTop, metrics: nil, views: views) NSLayoutConstraint.activateConstraints(constraints)