swift - 限制子视图中的按钮触摸
问题描述
我有一个UIPageControl
覆盖屏幕底部中心的:
self.pageControl.translatesAutoresizingMaskIntoConstraints = false
self.pageControl.snp.makeConstraints { (make) -> Void in
make.height.equalTo(65)
make.centerX.equalToSuperview()
make.width.equalToSuperview()
make.bottom.equalToSuperview()
}
然后我添加一个按钮 ( MDCButton : UIButton
) 作为子视图:
var aButton = MDCButton()
aButton.translatesAutoresizingMaskIntoConstraints = false
pageViewController.pageControl.addSubview(aButton)
经过一些格式化后,最终结果如下所示:
一切正常,但触摸按钮也会向页面控件发送触摸事件。我需要限制它,以便按钮触摸事件不会传播到页面控件。
[编辑:我想我很困惑,因为根据我的代码,按钮是子视图,而不是相反。所以理论上,是页面控件接收到触摸事件并将其传播到子视图中的按钮。正确的?]
无论如何,我尝试将页面控件和按钮设置为isUserInteractionEnabled
设置,但它们都以这种方式被禁用。false
true
我可以将两者分开(并将它们彼此相邻放置),但我无法将页面控件定位到屏幕的中心。
有任何想法吗?
解决方案
推荐阅读
- python - 使用 Scipy 最小二乘法的 3D 平面拟合产生完全错误的拟合
- r - 带有 grid.draw 输出的 ggplot2 对象后损坏的导出
- typescript - typescript 项目参考和 JavaScript 文件
- ruby-on-rails - Rails 模块与模型类名称冲突
- c# - 通过 UI 自动化清除 RichTextBox 文本?
- python-3.x - 如何使用 Pandas 在数据框中生成缺失的增量行值?
- c++ - gtest - 确保一个方法之前没有被调用,但可以在某个方法调用之后被调用
- python-3.x - BeautifulSoup 连接不同段落中的单词
- python - 确定特定文件中元组中每个元素的 count = 0 - 如果为 0,则标记该元素
- three.js - 如何在不清除以前的渲染通道的情况下应用后处理 EffectComposer 渲染通道?