ios - 隐藏并删除嵌套 UIView swift 的所有空间

标签 ios swift uiview constraints

我试图隐藏和删除 MainUIView 的空间。我试图将 MainUIView heightConstarint 设置为 0 。但它并没有隐藏其中的 View 。

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

这是我的代码

@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

最佳答案

更新约束永远不会在

中起作用

覆盖 func viewDidLoad(){}

如果你想以编程方式改变约束,那么你必须把你的代码放在

覆盖有趣的 viewWillLayoutSubviews(){}

所以你的代码看起来像

override func viewWillLayoutSubviews() {

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

}

关于ios - 隐藏并删除嵌套 UIView swift 的所有空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49291569/

相关文章:

ios - CoreData严重应用错误

ios - 如何将一个数组添加到另一个数组

ios - 重新加载 tableView 时遇到问题

xcode - UIAlertViewController 在实际呈现之前显示出一点延迟

swift - CATextLayer 忽略字体大小

ios - 复制CALayer

objective-c - 以模态呈现 UIView 不是全屏

ios - UIView removeFromSuperview 正在调用 didMoveToSuperview

ios - 当 iOS 上的行不同时,如何简单地插入日期标题?

ios - Objective-C 相机裁剪尺寸