Middle+
Ի՞նչ է նշանակում 'Կայունության առաջնահերթություն ճնշման դիմադրության' հատկությունները։
sobes.tech AI
Պատասխան AI-ից
Նորոշում է, թե որքան դժվար կլինի տեսքը փոքրացնել մյուս տեսքերին համեմատ, երբ ազատ տարածք չի բավարար:
Compression Resistance Priority հատկությունները՝
- Ամեն մի չափչափ (հորիզոնական, ուղղահայեա) ունի իր առաջնահերթությունը:
- Տարածման տիրույթը՝ 1 (նվազագույն) մինչև 1000 (առավելագույն, UILayoutPriorityRequired):
- Բարձր առաջնահերթություն ունեցող տեսքը ավելի ուժեղ կպայքարի սեղմման դեմ, քան ցածր առաջնահերթություն ունեցողը:
- 1000 առաջնահերթությունը երաշխավորում է, որ տեսքը չի կրճատվի իր intrinsic content size-ից, եթե դա հնարավոր է:
Օգտագործում՝
- Դինամիկ տեքստով Label: Եթե ունեք մի քանի UILabel, որոնք կարող են ցուցադրել տարբեր երկարության տեքստեր, առաջնահերթությունների օգտագործումը օգնում է որոշել, թե որ լեյբը կկրճատվի առաջինը, եթե տեղ չլինի:
- Կոճակներ: Որպեսզի տեքստը կրճատման չհասնի, կարող եք բարձր առաջնահերթություն սահմանել
Compression Resistance Priority-ի համար: - Ավտո Layout բարդ մոդելներ: Բարդ Auto Layout մոդելներում առաջնահերթությունները օգտագործվում են տարածքի անհասկանալիությունները լուծելու համար:
Օրինակ՝ երկու UILabel հորիզոնական StackView-ում:
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-ը որոշում է, թե որքանով է տեսքը հակված իր intrinsic content size-ից մեծանալ ավելորդ տարածքում:- Բարձր
Content Hugging Priority= տեսքը "կրկնում" է իր բովանդակությունը և չի ընդլայնվում: - Բարձր
Compression Resistance Priority= տեսքը "դիմադրում" է սեղմմանը և չի կրճատվում:
Այս երկու հատկությունները միասին օգնում են Auto Layout-ին ճիշտ տարածք բաժանել։