[英]UILabels within a UITableView cell are overlaying each other in iOS7
[英]iOS: 3 UILabels under each other constraints
我彼此之間有3個UILabes
。 第一個的最高約束是superview
20
,第二20
到first label
是20
。 第三是20
到second
之一。 但是有時第一和第二標簽的文本為空。 我只想讓我的第三個標簽成為superview
20
,但是當我設置了約束時,它成為20+20+20 to superview.
是否可以僅使用情節提要來解決此問題,否則我必須使用一些代碼。
對不起,我的英語不好,請幫幫我。
您可以通過編程來做到這一點,取所有標簽的Height
和Top Space
約束的出口。
檢查標簽文本,如果為空白,則將Height
和Top Space
約束Constant
為0
。
喜歡,
如果“第一標簽”文本為空白,則將“第一標簽Height constraint
常量”設置為0
並將“ Top Space
約束Constant
為0
。 您可以通過其他方式檢查其他標簽。
考慮到您的要求,我為此創建了一個帶有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.