将UIView高度限制设置为0后,UIButton单击不会注册

时间:2018-12-04 18:36:14

标签: ios swift autolayout

我正在使用iOS自动版式。我有一个UIView,有时我想根据应用程序中的某些条件将其隐藏。因为所有内容都包含在一个较长的UIScrollView中,所以要“隐藏” /删除此元素,我只是将UIView的height约束设置为0,这会将其下的所有元素上移。

viewHeightConstraint.constant = 0
viewHeightConstraint.layoutIfNeeded()

viewHeightConstraint变量引用一个NSLayoutConstraint,我通过Ctrl + Dragged从情节提要中获取代码中的内容。

enter image description here

我正在谈论的UIView是上图中的灰色框。将此UIView的高度设置为0,并更新视图后,它确实消失了,一切都按原样向上移动。

但是,在自动布局更改之后,最初起作用的两个蓝色UIButton不会注册任何点击。我正在self.view.translatesAutoresizingMaskIntoConstraints = true中设置viewDidLoad(),但无法解决。

编辑:问题出在我的视图层次结构中。

1 个答案:

答案 0 :(得分:1)

改为添加以下代码:

self.view.translatesAutoresizingMaskIntoConstraints = true

此外,尝试添加:

self.grayView.clipToBounds = true