Middle+
Зашто су потребне особине 'Приоритет отпорности на компресију'?
sobes.tech АИ
Одговор од АИ
Određuju koliko će teško biti smanjiti prikaz u poređenju sa drugim prikazima pri nedostatku slobodnog prostora.
Svojstva Compression Resistance Priority:
- Svaka dimenzija (Horizontalna, Vertikalna) ima svoj prioritet.
- Opseg vrednosti: 1 (najniži) do 1000 (najviši, UILayoutPriorityRequired).
- Prikaz sa višim prioritetom će se "opirati" smanjenju jače nego prikaz sa nižim prioritetom.
- Prioritet 1000 garantuje da prikaz neće biti smanjen ispod svog intrinsic content size u bilo kojim okolnostima, ako je moguće.
Upotreba:
- Label sa dinamičkim tekstom: Ako imate više UILabel-ova koji mogu prikazivati tekst različite dužine, korišćenje prioriteta pomaže odrediti koji će se label prvi smanjiti ako se ne stanu na ekran.
- Dugmad: Da tekst na dugmetu ne bude isečen, možete postaviti visok prioritet
Compression Resistance Priorityza njegov UILabel. - Složeni rasporedi: U složenim Auto Layout rasporedima, prioriteti se koriste za rešavanje nejasnoća pri nedostatku prostora.
Primer: Dva UILabel-a u horizontalnom stogu.
let label1 = UILabel()
label1.text = "Kratak tekst"
label1.backgroundColor = .red
let label2 = UILabel()
label2.text = "Veoma, veoma, veoma dugačak tekst"
label2.backgroundColor = .blue
let stackView = UIStackView(arrangedSubviews: [label1, label2])
stackView.axis = .horizontal
stackView.distribution = .fill // Popunjava prostor, ali može da smanjuje sadržaj
// Po defaultu, prioriteti su jednaki (obično 750).
// Oba labela će se proporcionalno smanjivati.
// Postavljamo visok prioritet za label1
label1.setContentCompressionResistancePriority(.required, for: .horizontal) // 1000
// label2 ostaje sa prioritetom 750
// Sada, pri nedostatku prostora, label2 će se smanjiti jače,
// kako bi label1 sačuvao svoj veličinu.
Veza sa Content Hugging Priority:
Content Hugging Priority: Određuje koliko će teško biti da prikaz poveća svoju veličinu od svog intrinsic content size pri višku slobodnog prostora.- Visok
Content Hugging Priority= prikaz "grli" svoj sadržaj i ne širi se. - Visok
Compression Resistance Priority= prikaz "opire" se smanjenju i ne smanjuje se.
Ova dva svojstva rade zajedno da pomognu Auto Layout-u da pravilno rasporedi prostor između prikaza.