Middle+
Milleks on 'Survest vastupidavuse prioriteedi' omadused?
sobes.tech AI
Vastus AI-lt
Määrab, kui raske on vaate suurendamine teiste vaadete suhtes, kui vaba ruumi on vähe:
Compression Resistance Priority omadused:
- Igal mõõtmel (Horisontaalne, Vertikaalne) on oma prioriteet.
- Väärtuste vahemik: 1 (madalaim) kuni 1000 (kõrgeim, UILayoutPriorityRequired).
- Kõrgema prioriteediga vaade vastupanuvad tugevamalt kokkusurumisele kui madalama prioriteediga vaade.
- Prioriteet 1000 tagab, et vaadet ei vähendata alla selle sisulise sisu suurust, kui see on võimalik.
Kasutamine:
- Label dünaamilise tekstiga: Kui teil on mitu UILabeli, mis võivad kuvada erineva pikkusega tekste, aitab prioriteetide kasutamine määrata, milline label vähendatakse esimesena, kui ruumi ei piisa.
- Nupud: Teksti lõikamise vältimiseks nupul, saate määrata kõrge
Compression Resistance Priorityoma UILabelile. - ** keerulised paigutused:** Keerulistes Auto Layouti paigutustes kasutatakse prioriteete ruumi puudumise lahendamiseks.
Näide: Kaks UILabeli horisontaalses virnas.
let label1 = UILabel()
label1.text = "Lühike tekst"
label1.backgroundColor = .red
let label2 = UILabel()
label2.text = "Väga, väga, väga pikk tekst"
label2.backgroundColor = .blue
let stackView = UIStackView(arrangedSubviews: [label1, label2])
stackView.axis = .horizontal
stackView.distribution = .fill // Täidab ruumi, kuid võib sisu suruda
// Mõlemad on vaikimisi sama prioriteediga (tavaliselt 750).
// Mõlemad labelid surutakse proportsionaalselt.
// Seadistame kõrge prioriteedi label1 jaoks
label1.setContentCompressionResistancePriority(.required, for: .horizontal) // 1000
// label2 jääb 750-ga
// Nüüd, kui ruumi on vähe, surutakse label2 tugevamini,
// et label1 säilitaks oma suuruse.
Seos Content Hugging Priority-ga:
Content Hugging Prioritymäärab, kui väga vaade on vastupidav oma sisemise sisu suurendamisele, kui ruumi on üle.- Kõrge
Content Hugging Priority= vaade "embab" oma sisu ega laiene. - Kõrge
Compression Resistance Priority= vaade "vastupanu" kokkusurumisele ja ei vähene.
Need kaks omadust töötavad koos, et Auto Layout õigesti jaotaks ruumi vaadete vahel.