Middle+
Kāda ir 'Saspiešanas izturības prioritātes' īpašību nozīme?
sobes.tech AI
Atbilde no AI
Nosaka, cik grūti būs samazināt skatu, palyginti ar citiem skatiem, ja ir nepietiekami brīviem resursiem:
Compression Resistance Priority īpašības:
- Katram dimensijai (Horizontāla, Vertikāla) ir sava prioritāte.
- Vērtību diapazons: no 1 (zemākā) līdz 1000 (augstākā, UILayoutPriorityRequired).
- Ar augstāku prioritāti esošais skats pretosies saspiešanai stiprāk nekā ar zemāku prioritāti.
- Prioritāte 1000 garantē, ka skats netiks samazināts zem tā iekšējā satura izmēra, ja tas ir iespējams.
Lietošana:
- Label ar dinamisku tekstu: Ja jums ir vairāki UILabel, kas var rādīt dažādas garuma teksta, prioritāšu izmantošana palīdz noteikt, kurš label tiks samazināts pirmais, ja tie neiederas ekrānā.
- Pogas: Lai teksts uz pogas netiktu apgriezts, var iestatīt augstu
Compression Resistance Prioritysavam UILabel. - Sarežģīti izkārtojumi: Sarežģītos Auto Layout izkārtojumos prioritātes tiek izmantotas, lai risinātu neskaidrības par vietas trūkumu.
Piemērs: Divi UILabel horizontālā stāvoklī.
let label1 = UILabel()
label1.text = "Īss teksts"
label1.backgroundColor = .red
let label2 = UILabel()
label2.text = "Ļoti, ļoti, ļoti garš teksts"
label2.backgroundColor = .blue
let stackView = UIStackView(arrangedSubviews: [label1, label2])
stackView.axis = .horizontal
stackView.distribution = .fill // Aizpilda telpu, bet var saspiest saturu
// Abiem ir vienāda prioritāte (parasti 750).
// Abi labeli proporcionāli tiks saspiesti.
// Iestatām augstu prioritāti label1
label1.setContentCompressionResistancePriority(.required, for: .horizontal) // 1000
// label2 paliek ar 750
// Tagad, ja trūkst vietas, label2 tiks saspiests stiprāk,
// lai label1 saglabātu savu izmēru.
Saistība ar Content Hugging Priority:
Content Hugging Prioritynosaka, cik ļoti skats nevēlas palielināt savu izmēru no tā iekšējā satura, ja ir lieka vieta.- Augsta
Content Hugging Priority= skats "apskauj" savu saturu un nepaplašinās. - Augsta
Compression Resistance Priority= skats "pretoties" saspiešanai un nesamazinās.
Šīs divas īpašības kopā palīdz Auto Layout pareizi sadalīt vietu starp skatiem.