隐藏和删除嵌套UIView swift的所有空间

时间:2018-03-15 04:25:18

标签: ios swift uiview constraints

我正在尝试隐藏和删除MainUIView的空格。我尝试将MainUIView heightConstarint设为0。但它并没有隐藏其中的观点。

我想隐藏MainUIView内的所有视图和标签。 希望你能理解我的问题。谢谢你提前

这是我的代码

@IBOutlet weak var heightConstarint:NSLayoutConstraint!
//@IBOutlet weak var viewhide: UIView!
override func viewDidLoad() {
    super.viewDidLoad()
    heightConstarint.constant = 0
    //self.viewhide.setNeedsUpdateConstraints()
    self.view.layoutIfNeeded()
}

enter image description here

2 个答案:

答案 0 :(得分:1)

更新约束将永远不会在

中工作

覆盖func viewDidLoad(){}

如果要以编程方式更改约束,则必须将代码放在

覆盖有趣的viewWillLayoutSubviews(){}

所以你的代码看起来像

override func viewWillLayoutSubviews() {

     clipToBounds = true
     heightConstarint.constant = 0
     //self.viewhide.setNeedsUpdateConstraints()
     self.view.layoutIfNeeded()

}

答案 1 :(得分:0)

我不知道更新约束在viewDidLoad中是否有效。但是MainUIView还存在另一个限制因素。

enter image description here

我认为你应该删除顶部或底部空间。