簡體   English   中英

UIStackView 分布,一個子視圖的內在內容大小優先

[英]UIStackView distribution with intrinsic content size of one subview prioritised

  stackView
+------------+                +
|  topView   | height: 50     |
+------------+                |
|            |                |
|            |                | total height: 300
| bottomView | height: 250    |
|            |                |
|            |                |
+------------+                +

我想在具有以下條件的UIStackViewstackView )中布局兩個視圖( topViewbottomView ):

  • stackView有一個高度(比如說 300)
  • topViewbottomView的內在內容高度相同(比如說 50)
  • topView應該以其固有的內容高度呈現(直到stackView的高度)(所以 50)
  • bottomView應該占用剩余空間(所以 250)
  • 如果topView的內在內容高度發生變化(假設為 100),則分布應為 100/200

UIStackView 的所有分發模式都無法涵蓋這一點。

在這里使用常量設置約束無濟於事,因為topView的內在內容高度可能會改變。

所以我需要一些自動布局功能。 我嘗試設置不同的內容壓縮阻力優先級和內容擁抱優先級。 如果沒有成功,我仍然覺得它們可以成為一個解決方案(如果我知道如何正確使用它們)。

這似乎不是一個復雜的問題,為此我找不到合適的 Auto Layout API。 有什么提示嗎?

你應該設置:

  • 垂直內容擁抱頂視圖的優先級高於底視圖
  • alignment 的堆棧視圖填充
  • 要填充的堆棧視圖的分布

如果頂部和底部視圖沒有固有寬度,您還應該添加寬度約束。

演示:

在此處輸入圖像描述 在此處輸入圖像描述

暫無
暫無

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

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