Sobes.tech
Middle+

Təzyiqə davamlılıq üstünlüyü xüsusiyyətləri nə üçün lazımdır?

sobes.tech Süni İntellekt

AI-dan cavab

Görünüşün digər görünüşlərlə müqayisədə azad boşluq kifayət etmədikdə, nə dərəcədə inadkar olacağını müəyyən edir.

Sıxışdırma İstikamet Prioriteti xüsusiyyətləri:

  • Hər bir ölçü (Üfüqi, Şaquli) öz prioritetinə malikdir.
  • Dəyər aralığı: 1 (ən aşağı) ilə 1000 (ən yüksək, UILayoutPriorityRequired).
  • Daha yüksək prioritetə malik görünüş, aşağı prioritetə malik görünüşə nisbətən daha çox sıxışdırmaya qarşı duracaq.
  • Prioritet 1000, görünüşün mümkün olduqda, hər hansı bir şəraitdə, onun daxili məzmun ölçüsündən aşağıya sıxılmayacağını təmin edir.

İstifadə:

  • Dinamik mətnli etiket: Əgər bir neçə UILabel varsa və müxtəlif uzunluqlu mətnlər göstərə bilirlərsə, prioritetlərin istifadəsi, ekran üçün yer çatmadıqda, hansı etiketin ilk sıxılacağını müəyyən etməyə kömək edir.
  • Düymələr: Düymədəki mətn kəsilməsin deyə, onun UILabel üçün yüksək prioritet təyin edə bilərsiniz, Sıxışdırma İstikamet Prioriteti istifadə edərək.
  • Mürəkkəb maketlər: Mürəkkəb Auto Layout maketlərində, prioritetlər, yer çatışmazlığı hallarında qeyri-müəyyənlikləri həll etmək üçün istifadə olunur.

Nümunə: Yatay yığılmış iki UILabel.

let label1 = UILabel()
label1.text = "Qısa mətn"
label1.backgroundColor = .red

let label2 = UILabel()
label2.text = "Çox çox uzun mətn"
label2.backgroundColor = .blue

let stackView = UIStackView(arrangedSubviews: [label1, label2])
stackView.axis = .horizontal
stackView.distribution = .fill // Boşluğu doldurur, lakin məzmunu sıxışdıra bilər

// Əsasən, prioritetlər bərabərdir (adətən 750).
// Hər iki etiket nisbətən sıxılır.

// label1 üçün yüksək prioritet təyin edin
label1.setContentCompressionResistancePriority(.required, for: .horizontal) // 1000
// label2, öz prioritetini saxlayır (750)

// İndi, yer çatışmazlığı olduqda, label2 daha çox sıxılır,
// beləliklə, label1 öz ölçüsünü saxlayır.

Məzmunu qucaqlaşma prioriteti ilə əlaqəsi:

  • Content Hugging Priority: Əlavə boş yer olduqda, görünüşün öz daxili məzmun ölçüsündən daha çox böyüməyə nə qədər qarşı duracağını müəyyən edir.
  • Yüksək Content Hugging Priority = görünüş, "məzmununu" "qucaqlaşır" və genişlənmir.
  • Yüksək Sıxışdırma İstikamet Prioriteti = görünüş, sıxışdırmaya qarşı durur və kiçiltmir.

Bu iki xüsusiyyət birlikdə Auto Layout-un görünüşlər arasında düzgün yer bölüşdürməsinə kömək edir.