Saya tidak tahu cara mengubah prioritas batasan yang sudah diinstal.
Mengubah prioritas NSLayoutConstraint
adalah operasi yang murah, dan menggunakan kombinasi prioritas dan .LessThanOrEqual
+ .GreaterThanOrEqual
untuk animasi adalah apa yang disarankan Apple.
Bahkan mungkin bagus untuk menambahkan beberapa pembungkus untuk ini. Anda akan menginstal
x ≦ 40
x ≧ 40 with priority P
x ≧ 20 with priority P + 1
dan Anda kemudian dapat beralih x antara 40 dan 20 dengan mengubah prioritas pada batasan terakhir antara P - 1
dan P + 1
.
Mungkin sebaiknya kita mengizinkan pengubahan prioritas melalui snp_updateConstraints
. Saya akan melihat apa yang akan terjadi dan apakah itu akan memiliki implikasi.
@danieleggert cabang pengembangan sekarang memiliki dukungan untuk memperbarui prioritas:
var constraint: Constraint? = nil
view.snp_makeConstraints { (make) -> Void in
constraint = make.edges.equalTo(UIEdgeInsetsMake(10,10,10,10)).priorityHigh()
}
constraint?.updatePriorityLow()
Hai @robertjpayne !
Saya mencoba memperbarui prioritas seperti yang dinyatakan pada komentar terakhir.
Tapi saya mendapat kesalahan ini:
Apa yang tampaknya menjadi masalah? Menggunakan Snapkit 4.0.0
Komentar yang paling membantu
@danieleggert cabang pengembangan sekarang memiliki dukungan untuk memperbarui prioritas: