Sobes.tech
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 Priority savam 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 Priority nosaka, 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.