ios - 将 UIView 高度约束设置为 0 后,UIButton 点击不注册
问题描述
我正在使用 iOS 自动布局。我有一个 UIView,有时我想根据应用程序中的某些标准隐藏它。因为一切都包含在一个长的 UIScrollView 中,为了“隐藏”/删除这个元素,我只是将 UIView 的高度约束设置为 0,这应该向上移动它下面的所有元素。
viewHeightConstraint.constant = 0
viewHeightConstraint.layoutIfNeeded()
该viewHeightConstraint
变量引用了一个 NSLayoutConstraint,我 Ctrl+Dragged 以从情节提要的代码中获取一个出口。
我说的 UIView 就是上图中的灰色框。在将此 UIView 的高度设置为 0 并更新视图后,它确实消失了,并且一切都按原样向上移动。
但是,最初起作用的两个蓝色 UIButton 在此自动布局更改后不会注册任何点击。我正在设置self.view.translatesAutoresizingMaskIntoConstraints = true
其中viewDidLoad()
没有修复它。
编辑:问题出在我的视图层次结构中。
解决方案
改为添加此代码:
self.view.translatesAutoresizingMaskIntoConstraints = true
另外,尝试添加:
self.grayView.clipToBounds = true
推荐阅读
- python - 网络机器人中特定方向的旋转
- html - 我的标签在我的下拉菜单中不起作用
- c++ - 重载 operator* 而不分配新内存
- r - 如何在 R 中已经有一些栅格文件的栅格堆栈中添加更多栅格?
- ruby - Ruby 只打印出类方法(而不是继承的方法)
- python - 如何在 Python 中从 JSON 获取有效的正则表达式?
- oracle - 不知道如何(Linux 命令)重新启动 oracle 数据库 12.1.0 服务器
- express - 如何在示例示例中从 ClusterBuster 矢量切片服务器接收切片数据?
- c# - ajax post 不返回视图数据
- sql-server - EF Core 3“更新”SQL 语句