簡體   English   中英

當開始隱藏視圖時,約束會發生什么?

[英]What happens with constraints when a view is begin to be hidden?

問題與非常相似,但是我很有趣,當UIView更改為isHidden值時會發生什么。

例如: | | | -[ViewA]-[ViewB]-[ViewC]- | | | | | | -[ViewA]-[ViewB]-[ViewC]- | | |

在草稿上:

[X] ->視圖

| - - >約束

在以下情況下會發生什么: ViewB.isHidden = true如何在代碼中更正顯示/隱藏子視圖的句柄(沒有UIStackView )? 我應該手動將約束設置為活動/非活動嗎?

通常,隱藏視圖(通過設置isHidden )對布局沒有影響。 隱藏的視圖參與布局。 連接到視圖的所有約束仍將強制執行。 現在隱藏的視圖所占據的區域仍為其保留。

這很有用,因為它允許您將隱藏視圖用作“分隔符”來創建布局(在Interface Builder中),而這些布局是您以前無法創建的。 (在代碼中,您可以使用UILayoutGuide代替隱藏視圖,但是IB不支持創建布局指南。)

UIStackView與其他視圖不同。 UIStackView觀察其每個已安排子視圖的isHidden屬性。 當安排的子視圖的isHidden更改時, UIStackView更新約束以創建或刪除該子視圖使用的區域。

沒有其他視圖可以執行UIStackView操作,因此沒有其他視圖在子視圖變為隱藏或可見時調整其子視圖的布局。

暫無
暫無

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

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