Swift,不会出现label.isHidden = false

时间:2017-08-11 10:32:52

标签: ios swift uiview uilabel

我有一个包含标签和其他元素的UIView。在某些时候我需要切换UIView的可见性,但我需要其他约束来保持整体结构只是没有这个UIView。我正在使用UIView的高度约束来做 - 将其设为0.当切换回来时,UIView会显示回来(因为其他元素出现),但没有标签。标签根本不存在。

if(vips.count == 0) {
        meetingVIPsLabel.isHidden = true
        meetingVipsHeight.constant = 0
        meetingVIPsLabel.text = ""
    } else {
        meetingVipsHeight.constant = 92
        meetingVIPsLabel.isHidden = false
        meetingVIPsLabel.text = MessagesInteractor.getMeetingVIPsMessage(with: vips.count)
    }

在隐藏UIView之前(“Meeting 1 VIP”是我需要出现的内容): enter image description here

隐藏UIView并将其带回: enter image description here

1 个答案:

答案 0 :(得分:0)

您需要调用layoutIfNeeded()以确保约束生效。更新约束后调用

self.view.layoutIfNeeded()