簡體   English   中英

如何使用 AutoLayout 使子視圖確定父/兄弟視圖大小?

[英]How to make a child view determine parent/sibling view size with AutoLayout?

我有兩個垂直堆疊的UIView s,以及像這樣包圍它們的父視圖:

在此處輸入圖像描述

視圖 B 是一個水平堆棧視圖,我可以使用代碼動態添加子視圖。 我想要的是:

  1. 當 View B 的寬度改變時,父視圖的寬度也會隨之改變。
  2. View A 的寬度會隨着父級的變化而變化,並重新繪制自身以適應新的尺寸。

我為視圖 A 和視圖 B 添加了約束,因為它們的前導和尾隨與父視圖相同。 我認為當視圖 B 增長時,它會將父視圖“推”到與自身一樣寬,而父視圖會將視圖 A“拉伸”到相同的寬度。

但事實證明,由於 View A 有其初始寬度,父視圖寬度受此限制,而 View B 寬度受相同寬度限制。 視圖 B 沒有增長,而是被擠壓。

如何讓視圖 B 確定其他視圖的寬度? 我希望使用約束,而不是在每次視圖大小更改時設置框架。

如果要改變大小,只需將視圖 A 的寬度更改為大於或等於。 這樣它可以是那個大小或更大。 在同尺寸的inspector中,有一個“Content Compression Resistance Priority”。 數字越大,視圖縮小的可能性就越小。 如果您在視圖 B 上將阻力位更改為 1000,則不太可能不正確地調整大小。

Xcode 大於或等於視圖大小 Xcode 內容抗壓縮優先級

暫無
暫無

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

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