簡體   English   中英

iOS:3個UILabel互相約束

[英]iOS: 3 UILabels under each other constraints

我彼此之間有3個UILabes 第一個的最高約束是superview 20 ,第二20first label20 第三是20second之一。 但是有時第一和第二標簽的文本為空。 我只想讓我的第三個標簽成為superview 20 ,但是當我設置了約束時,它成為20+20+20 to superview.

是否可以僅使用情節提要來解決此問題,否則我必須使用一些代碼。

對不起,我的英語不好,請幫幫我。

您可以通過編程來做到這一點,取所有標簽的HeightTop Space約束的出口。

檢查標簽文本,如果為空白,則將HeightTop Space約束Constant0

喜歡,

如果“第一標簽”文本為空白,則將“第一標簽Height constraint常量”設置為0並將“ Top Space約束Constant0 您可以通過其他方式檢查其他標簽。

考慮到您的要求,我為此創建了一個帶有3個標簽的演示。 但是我在垂直方向的堆棧視圖中添加了這3個標簽。 然后我在堆棧視圖之外的UIView中添加了一個按鈕,然后在按鈕上單擊了隱藏的第二個標簽。 這樣做,我得到了您需要的結果。

@IBAction func btnClicked(sender: AnyObject) {
    lbl2.hidden = true
}

希望這可以幫助。

您可以在UIView中添加每個標簽。 使top Label約束對於超級視圖為20(在這種情況下,對容器UIView而言為20)。
然后,使UIView 1的前0個成為超級視圖。 UIView 2的UIView 1的頂部為0,UIView 3的UIView 2的頂部為0。

然后,當相應的UILabel中沒有任何文本時,您可以隱藏每個UIView,這樣它們就可以很好地顯示。

暫無
暫無

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

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