Middle+
Кысууучу каршылыкка артыкчылык касиеттеринин эмне кереги бар?
sobes.tech AI
AIден жооп
Көрсөтүү башка көрүнүштөргө салыштырмалуу, жетиштүү бош орун болбогондо, кысуу жөндөмдүүлүгүн аныктоо үчүн колдонулат:
Compression Resistance Priority өзгөчөлүктөрү:
- Ар бир өлчөм (Horizontal, Vertical) өзүнүн артыкчылыгы бар.
- Маанилүү маанилердин диапазону: 1 ( эң төмөнкү) чейин 1000 ( эң жогорку, UILayoutPriorityRequired).
- Жогорку артыкчылыктагы көрүнүш төмөнкү артыкчылыктагы көрүнүшкө караганда көбүрөөк кысууга каршы тура алат.
- 1000 артыкчылык көрүнүш эч качан анын ички мазмун өлчөмүнөн төмөн кысылбайт, эгер мүмкүн болсо.
Колдонуу:
- Динамикалык текст менен Label: Эгер сизде ар кандай узундуктагы тексттерди көрсөтө алган бир нече UILabel болсо, артыкчылыктарды колдонуу кайсы лейб биринчи кысылат экенин аныктоого жардам берет, эгер алар экранга сыйбаса.
- Түймөлөр: Тексттин кесилбеши үчүн, анын UILabel үчүн жогорку артыкчылык
Compression Resistance Priorityкоюңуз. - Кыйынча макеттер: Кыйынча Auto Layout макеттеринде, артыкчылыктар кеңдик жетишпегенде чечимдерди кабыл алууда колдонулат.
Мисал: Горизонталдык стекте эки UILabel.
let label1 = UILabel()
label1.text = "Кыска текст"
label1.backgroundColor = .red
let label2 = UILabel()
label2.text = "Өте, өтө, өтө узун текст"
label2.backgroundColor = .blue
let stackView = UIStackView(arrangedSubviews: [label1, label2])
stackView.axis = .horizontal
stackView.distribution = .fill // Кеңдикти толуктайт, бирок мазмұнду кысу мүмкүн
// Бөлөкчө артыкчылыктар бирдей (адатта 750)
// Эки лейб да пропорционалдуу кысылат
// label1 үчүн жогорку артыкчылык коюу
label1.setContentCompressionResistancePriority(.required, for: .horizontal) // 1000
// label2 750 менен калат
// Эми, кеңдик жетишпегенде, label2 күчөп кысылат,
// label1 өз өлчөмүн сактап калуу үчүн:
Content Hugging Priority менен байланышы:
Content Hugging Priority— өзүнүн ички мазмун өлчөмүнөн көбүрөөк кеңейүүнү канчалык каалайт.- Жогорку
Content Hugging Priority= көрүнүш өз мазмунун "мөөрөйт" жана кеңейбейт. - Жогорку
Compression Resistance Priority= көрүнүш кысууга каршы турушу жана кысылбайт.
Бул эки өзгөчөлүк бирге иштешип, Auto Layout туура бөлүштүрүүгө жардам берет.