我正在使用 iOS 自动布局。我有一个 UIView,有时我想根据应用程序中的某些条件隐藏它。因为所有内容都包含在一个长的 UIScrollView 中,为了“隐藏”/删除此元素,我只是将 UIView 的高度限制设置为 0,这应该向上移动它下面的所有元素。
viewHeightConstraint.constant = 0
viewHeightConstraint.layoutIfNeeded()
viewHeightConstraint
变量指的是一个 NSLayoutConstraint,我按住 Ctrl 键并拖动以从 Storyboard 中获取代码中的导出。
我说的UIView就是上图中的灰色框。将此 UIView 的高度设置为 0 并更新 View 后,它确实消失了,一切都按预期向上移动。
但是,两个最初起作用的蓝色 UIButton 在此 Autolayout 更改后不会注册任何点击。我在 viewDidLoad()
中设置了 self.view.translatesAutoresizingMaskIntoConstraints = true
并没有修复它。
编辑:问题出在我的 View 层次结构中。
最佳答案
改为添加此代码:
self.view.translatesAutoresizingMaskIntoConstraints = true
此外,尝试添加:
self.grayView.clipToBounds = true
关于ios - 将 UIView 高度约束设置为 0 后,UIButton 点击不注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53619414/