[英]Set priority for UIStackView iOS
這是一個遵循你想要的例子:
首先,UIStackView實際上會讓事情變得更難,因為我們想要微調每個標簽之間的距離。 我只是使用前導和尾隨約束來布局一行中的每個標簽。
訣竅是為每個標簽設置適當的內容壓縮阻力優先級和內容擁抱優先級 。 首先,我們希望0總是匹配其內容的大小,因此我們將其內容壓縮阻力優先級設置為1000.內容擁抱優先級可以保持默認值250。
我也將@符號拆分為自己的標簽,因為我們總是希望它出現。 將其內容壓縮阻力優先級設置為1000,並將內容擁抱優先級保持為250。
接下來,對於shrink_label ,我們將內容壓縮阻力優先級設置為749,將內容擁抱優先級設置為1000.也就是說,我們希望shrink_label永遠不會嘗試增長大於其文本內容大小,並且我們希望它允許其內容如果我們需要可以壓縮。
最后,對於laaabel,我們將內容擁抱優先級設置為1000,將內容壓縮阻抗優先級設置為750.也就是說,標簽將占用盡可能多的空間,並且因為其壓縮阻力優先級比shrink_label高1 倍 s, shrink_label將在laaabel之前壓縮。
您可以在此處閱讀Apple文檔中的內容壓縮和內容擁抱:
我的示例應用程序的完整源代碼可在此處獲得:
https://github.com/elliotfiske/StackOverflowContentHuggingExample
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.