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 туура бөлүштүрүүгө жардам берет.