簡體   English   中英

設置UIStackView iOS的優先級

[英]Set priority for UIStackView iOS

我怎么可以優先考慮完全顯示一個標簽和另一個標簽來顯示它太多,但如果過大就應該...在UIStackview

在此輸入圖像描述

這是我的StackView

在此輸入圖像描述

這是一個遵循你想要的例子:

在此輸入圖像描述

首先,UIStackView實際上會讓事情變得更難,因為我們想要微調每個標簽之間的距離。 我只是使用前導和尾隨約束來布局一行中的每個標簽。

訣竅是為每個標簽設置適當的內容壓縮阻力優先級內容擁抱優先級 首先,我們希望0總是匹配其內容的大小,因此我們將其內容壓縮阻力優先級設置為1000.內容擁抱優先級可以保持默認值250。

我也將@符號拆分為自己的標簽,因為我們總是希望它出現。 將其內容壓縮阻力優先級設置為1000,並將內容擁抱優先級保持為250。

接下來,對於shrink_label ,我們將內容壓縮阻力優先級設置為749,將內容擁抱優先級設置為1000.也就是說,我們希望shrink_label永遠不會嘗試增長大於其文本內容大小,並且我們希望它允許其內容如果我們需要可以壓縮。

最后,對於laaabel,我們將內容擁抱優先級設置為1000,將內容壓縮阻抗優先級設置為750.也就是說,標簽將占用盡可能多的空間,並且因為其壓縮阻力優先級比shrink_label高1 s, shrink_label將在laaabel之前壓縮。

您可以在此處閱讀Apple文檔中的內容壓縮和內容擁抱:

https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/AutolayoutPG/ViewswithIntrinsicContentSize.html

我的示例應用程序的完整源代碼可在此處獲得:

https://github.com/elliotfiske/StackOverflowContentHuggingExample

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM