簡體   English   中英

Swift中兩個元素之間的自動行距

[英]Auto leading space between two elements in Swift

我有3個隱藏的Labels,從數據庫中進行檢查后,僅當該Label的值存在時,我才設置label.isHidden = false

所有標簽都具有正確值時就是這種情況

因此,我將Storyboard與AutoLayout一起使用來確定這些標簽的位置,但是如果其中一個標簽仍然隱藏,則需要將標簽向左拉,以保持與其他標簽的空間。

這就是現在的樣子 在此處輸入圖片說明

是否可以通過編程方式進行? 如果是,怎么辦?

為此使用StackView 如果您使用StackView,則不必累贅自動布局,而是可以找到想要的東西

在此處輸入圖片說明 在此處輸入圖片說明

單擊隱藏后。

在此處輸入圖片說明

單擊顯示后

在此處輸入圖片說明

實現此目的的一種方法是將每個標簽相對於相鄰標簽對齊(例如,label1.trailing到label2.leading)。

然后,可以將寬度約束設置為0並在超級視圖上調用layoutIfNeeded ,而不是將任何標簽設置為隱藏,然后所有其他標簽將相應地進行布局。

使用StackView來處理此Space,而不要使用isHidden隱藏標簽。

您還可以通過AutoLayout實現,使用yourConstraint.constant = 0或約束的優先級屬性。

暫無
暫無

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

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