Middle+
Масъулоти 'Преоритети дар муқобилият бо фишориш' чӣ гуна аст?
sobes.tech AI
Ҷавоб аз AI
Муайян мекунанд, ки то чӣ андоза намоиш дар муқоиса бо дигар намоишҳо дар ҳолати камбуди ҷой камтар хоҳад шуд.
Хусусиятҳои Compression Resistance Priority:
- Ҳар як Dimensions (Horizontal, Vertical) дорои афзалият аст.
- Ҳадди арзишҳо: 1 (бадтарин) то 1000 (баландтарин, UILayoutPriorityRequired).
- Намуди бо афзалияти баландтар бештар муқовимат мекунад ба кумак кардани он нисбат ба намуди бо афзалияти паст.
- Афзалият 1000 кафолат медиҳад, ки намоиш дар ҳар ҳолат аз андозаи дохилии худ поён намеояд, агар имконпазир бошад.
Истифода:
- Лейб бо матни динамикӣ: Агар шумо чанд UILabel дошта бошед, ки метавонанд матни гуногунро нишон диҳанд, истифодаи афзалиятҳо кӯмак мекунад, ки муайян кунед, ки кадом лейб аввал кумак мекунад, агар онҳо дар экран ҷой нагиранд.
- Тугмаҳо: Барои он, ки матн дар тугма канда нашавад, метавонед афзалияти баландро барои
Compression Resistance Priorityбарои UILabel-и он гузоред. - Тарҳҳои мураккаб: Дар тарҳҳои мураккаби 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 ба дурустӣ ҷойро байни намоишҳо тақсим кунад.