簡體   English   中英

UIStackView內部的動態視圖

[英]Dynamic views inside UIStackView

我要實現的是有兩個容器視圖,其中將有兩個標簽。 此標簽是動態設置的,代表百分比或美元金額。 我在它們之間也有圖像視圖。 我要實現的是“容器視圖-圖像-容器視圖”。 我遇到的問題如下:假設左側容器的百分比值(從0到100),右側容器視圖的美元金額(可能高達數百萬美元)。 我想做的是使標簽動態調整大小並占用盡可能少的空間。 以下是一些可以更好理解的圖像:

這是我遇到的問題:百分比是個位數,占用的空間很小,而美元金額太長,要么完全被碎石切斷,要么就堆積

我正在使用堆棧視圖來間隔三個視圖。 這甚至是解決問題的正確方法嗎?

故事板

編輯:這是我試圖實現的最終結果:

最終結果

您可以使用堆棧視圖執行此操作。 這是您需要做的:

  1. 將圖像視圖的內容擁抱和抗壓縮優先級設置為一個較小的數字,例如100。這將使圖像視圖拉伸以填充額外的空間,或收縮以為數字保留更多的空間。

  2. 在圖像視圖上設置最小寬度限制,以使在數字很大的情況下不會縮小到最小。 為此,可在圖像視圖上創建寬度約束,然后將其編輯為而不是=

    您的圖像視圖約束最終應像這樣:

    圖像視圖約束

  3. 將圖像視圖的內容模式設置為“寬高比”。 這將使其根據需要縮小或增大箭頭圖像以適合可用空間而不會變形:

    箭頭內容模式

  4. 對於您的標簽,將Autoshrink設置為“最小字體比例”(0.5),然后打開“ Tighten Letter Spacing”。 如果沒有足夠的空間容納全尺寸的所有物品,這將允許標簽進行調整:

    標簽設定

結果:

演示屏幕截圖

選擇您的StackView並打開“ 屬性”檢查器,分布更改為“ 按比例填充” 我還將測試非常大的數字,以查看它如何影響StackView的外觀,但是如果我正確理解的話,這應該可以工作。

暫無
暫無

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

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