Middle+
'Sıkıştırma Direncine Öncelik' özellikleri ne işe yarar?
sobes.tech yapay zeka
AI'dan gelen yanıt
Ekseni, yetersiz boş alan durumunda diğer görünümlere kıyasla ne kadar dirençli olacağını belirler.
Sıkıştırma Direnci Önceliği özellikleri:
- Her boyut (Yatay, Dikey) kendi önceliğine sahiptir.
- Değer aralığı: 1 (en düşük) ile 1000 (en yüksek, UILayoutPriorityRequired).
- Daha yüksek önceliğe sahip görünüm, daha düşük öncelikli görünümden daha fazla sıkıştırmaya direnç gösterecektir.
- 1000 önceliği, görünümün mümkünse herhangi bir durumda içeriğin kendi boyutunun altına sıkıştırılmayacağını garanti eder.
Kullanım:
- Dinamik metin içeren etiketler: Birden fazla UILabel'in farklı uzunlukta metin gösterebildiği durumlarda, önceliklerin kullanılması, ekran dışına sığmadığında hangi etiketin önce sıkıştırılacağını belirlemeye yardımcı olur.
- Düğmeler: Bir düğmedeki metnin kesilmemesi için, UILabel için yüksek
Sıkıştırma Direnci Önceliğiayarlanabilir. - Karmaşık düzenler: Karmaşık Auto Layout düzenlerinde, öncelikler, alan yetersizliği durumunda belirsizlikleri çözmek için kullanılır.
Örnek: Yatay bir yığında iki UILabel.
let label1 = UILabel()
label1.text = "Kısa metin"
label1.backgroundColor = .red
let label2 = UILabel()
label2.text = "Çok çok uzun metin"
label2.backgroundColor = .blue
let stackView = UIStackView(arrangedSubviews: [label1, label2])
stackView.axis = .horizontal
stackView.distribution = .fill // Alanı doldurur, ancak içeriği sıkıştırabilir
// Varsayılan olarak öncelikler aynıdır (genellikle 750).
// Her iki etiket de orantılı olarak sıkıştırılır.
// label1 için yüksek öncelik ayarlayın
label1.setContentCompressionResistancePriority(.required, for: .horizontal) // 1000
// label2, varsayılan önceliği korur (750)
// Şimdi alan yetersiz olduğunda, label2 daha fazla sıkıştırılır,
// böylece label1 boyutunu korur.
İçerik Sarma Önceliği ile ilişkisi:
Content Hugging Priority: Bir görünümün, ek boş alan olduğunda, kendi içeriğinin boyutunun ötesine genişlemeye ne kadar direnç göstereceğini belirler.- Yüksek
Content Hugging Priority= görünüm, içeriği "kucaklar" ve genişlemez. - Yüksek
Sıkıştırma Direnci Önceliği= görünüm, sıkıştırmaya direnç gösterir ve küçültülmez.
Bu iki özellik, Auto Layout'un görünüm arasındaki alanı doğru şekilde dağıtmasına yardımcı olmak için birlikte çalışır.