Sobes.tech
Middle+

Qattiqlashga qarshi ustunlik xususiyatlari nima uchun kerak?

sobes.tech AI

AIdan javob

Ushbu xususiyatlar, kam bo'sh joy bo'lsa, boshqa ko'rinishlarga nisbatan qanday kamroq bo'lishini aniqlaydi.

Siqilish qarshilik prioriteti xususiyatlari:

  • Har bir o'lcham (Gorizontal, Vertikal) o'z prioritetiga ega.
  • Qiymatlar diapazoni: 1 (eng past) dan 1000 (eng yuqori, UILayoutPriorityRequired).
  • Yuqori prioritetga ega ko'rinish, past prioritetga ega ko'rinishdan ko'ra, siqilishlarga qarshilik ko'rsatadi.
  • 1000 prioritet, ko'rinishning har qanday holatda ham uning ichki mazmun o'lchamidan pastga siqilmasligini kafolatlaydi, agar imkon bo'lsa.

Foydalanish:

  • Dinamik matnli yorliqlar: Agar sizda bir nechta UILabel bo'lsa, ular turli uzunlikdagi matnlarni ko'rsatishi mumkin, prioritetlardan foydalanish, ekran uchun joy yetishmasligi holatida qaysi yorliq birinchi bo'lib siqilishini belgilashga yordam beradi.
  • Tugmalar: Tugmadagi matn kesilmasligi uchun, uning UILabel uchun yuqori prioritetni belgilash mumkin, Siqilish qarshilik prioriteti yordamida.
  • Murakkab maketlar: Murakkab Auto Layout maketlarida, prioritetlar joy yetishmasligi muammolarini hal qilish uchun ishlatiladi.

Misol: Gorizontal yigilgan ikkita UILabel.

let label1 = UILabel()
label1.text = "Qisqa matn"
label1.backgroundColor = .red

let label2 = UILabel()
label2.text = "Juda juda uzun matn"
label2.backgroundColor = .blue

let stackView = UIStackView(arrangedSubviews: [label1, label2])
stackView.axis = .horizontal
stackView.distribution = .fill // Bo'sh joyni to'ldiradi, lekin mazmunni siqishi mumkin

// Standartda, prioritetlar teng (odatda 750).
// Ikkala yorliq ham nisbatan siqiladi.

// label1 uchun yuqori prioritetni o'rnating
label1.setContentCompressionResistancePriority(.required, for: .horizontal) // 1000
// label2 o'z prioritetini saqlaydi (750)

// Endi, joy yetishmasligi holatida, label2 ko'proq siqiladi,
// shunda label1 o'z o'lchamini saqlaydi.

Content Hugging Priority bilan bog'liq:

  • Content Hugging Priority: Bo'sh joy ko'payganda, ko'rinishning o'z ichki mazmuni o'lchamidan ortib ketishga qanchalik qarshilik ko'rsatishini belgilaydi.
  • Yuqori Content Hugging Priority = ko'rinish, "mazmunini" o'z ichiga oladi va kengaymaydi.
  • Yuqori Siqilish qarshilik prioriteti = ko'rinish, siqilishlarga qarshilik ko'rsatadi va qisqartirilmaydi.

Ushbu ikki xususiyat Auto Layout'ga ko'rinishlar orasida joyni to'g'ri taqsimlashda yordam beradi.