我试图在我的视图控制器的底部有条件地使一个UILabel隐藏起来,而上面的视图可以调整以填充空间。
视图控制器底部的UILabel具有120的高度和对视图控制器底部0的约束。上面的视图对120视图控制器的底部有一个约束。
当我将UILabel隐藏并将其上方的视图的值更改为视图控制器底部的0(命名为viewBottomConstraint)时,UILabel将消失,但上面的视图将保持原来的状态。
发布于 2017-01-31 17:54:29
不要将标签更改为隐藏,只需更改高度约束即可!您可以看到将属性设置为隐藏对附近的视图没有任何影响,但将高度更改为0并调用layoutIfNeeded,更新与该特定UILabel相关的所有约束,并列出所有视图。
您需要将高度约束设置为UILabel的0。要做到这一点,可以将“高度”约束的出口从故事板拖到UIViewController,然后只需:
heightConstraint.constant = 0.0
UIView.animate(withDuration: 0.3, animations: {
self.view.layoutIfNeeded()
})https://stackoverflow.com/questions/41964144
复制相似问题