ios - 与 UIKit/Swift 重叠的 UIView 和交互性问题
问题描述
我正在构建一个面向 iOS 的 Swift 和 UIKit 界面。我所有的观点都是以编程方式构建的。我遇到一个问题,即 aUIView
与另一个重叠UIView
(但没有完全覆盖它)阻止任何点击事件通过。布局如下所示:
底部的导航栏是自定义视图,功能正常。点击这些按钮会更改其后面的活动视图(当前视图是TextView
SQL 语法突出显示的)。上面是 a UILabel
(带有“已连接”文本)和 a UIView
(带有渐变背景的圆圈)。我将此元素称为“ButtonView”,将标签称为“StatusView”。“StatusView”锚定到导航栏和封闭视图,“ButtonView”锚定到导航栏和“StatusView”。
这是相关的布局代码:
view.addSubview(navBar!)
view.addSubview(status)
view.addSubview(button)
status.translatesAutoresizingMaskIntoConstraints = false
status.layer.masksToBounds = true
status.text = "Example String"
status.textColor = .white
status.layer.cornerRadius = 20.0
status.layoutMargins = UIEdgeInsets(top: 10.0, left: 10.0, bottom: 10.0, right: 10.0)
button.translatesAutoresizingMaskIntoConstraints = false
button.layer.masksToBounds = true
button.layer.cornerRadius = 35.0
// button.isUserInteractionEnabled = false
// button.backgroundColor = .white
NSLayoutConstraint.activate([
status.bottomAnchor.constraint(equalTo: navBar!.topAnchor, constant: -10.0),
status.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 10.0),
status.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -90.0),
status.heightAnchor.constraint(equalToConstant: 50.0),
button.bottomAnchor.constraint(equalTo: navBar!.topAnchor, constant: -10.0),
button.leadingAnchor.constraint(equalTo: status.trailingAnchor, constant: 10.0),
button.widthAnchor.constraint(equalToConstant: 70.0),
button.heightAnchor.constraint(equalToConstant: 70.0)
])
预期的行为是即使存在“ButtonView”,仍然可以点击和编辑 SQL 视图。但是,当“ButtonView”出现时,SQL 视图将无法获得焦点。如果“ButtonView”的isUserInteractionEnabled
属性设置为false
或“ButtonView”被删除,一切正常。“StatusView”似乎没有任何不利影响,无需编辑其任何属性。(请注意,当前没有分配给“ButtonView”的手势行为,这不是 a UIButton
)。调试视图似乎没有显示任何重叠层:
理想情况下,我想最终在这个视图中添加一个手势识别器,但是想知道这是否会永远禁止我访问后台更远的视图?是否可以像这样重叠交互式视图,还是我以某种方式搞砸了响应者链?
解决方案
推荐阅读
- postgresql - PostgreSQL 日期函数输出到法语
- python - 在python中将meshgrid点转换为邻接矩阵
- powerbi - Power BI中KPI在线趋势
- linux - 与作为变量传递给 awk 的正则表达式进行比较
- javascript - 基于用户代理重定向用户
- vba - VBA Excel - “.Find” 从上到下按 K 列的顺序搜索
- ios - 如何使用objective-c中的嵌套字典和动态键解析JSON响应?
- javascript - 如何在同一个 HTML 页面中制作所有 Plotly 图的离线绘图?
- validation - 使用组合键进行 rails 验证
- javascript - 如何使用 jquery/javascript 从 ontextchanged 事件中获取文本框值