iOS - 添加约束后无法识别触摸

Posted

技术标签:

【中文标题】iOS - 添加约束后无法识别触摸【英文标题】:iOS - touches not recognized after constraint added 【发布时间】:2016-10-14 15:22:41 【问题描述】:

在我的 ios 应用程序中,我的父视图有一个子视图,而该子视图又具有许多 UIButton 作为子视图。在没有约束的情况下,按钮的触摸被最顶层的视图控制器识别。但是,当我添加约束以在父视图中水平居中子视图(包含 UIButton 的视图)时,父视图将停止识别触摸。

首先,这是正确/首选的方法吗(将一组视图居中 - 例如按钮 - 通过将它们放在视图中)?我应该使用容器视图还是堆叠堆栈视图? (我尝试了一个 Container View,但是 (a) 它生成了自己的控制器,并且 (b) 由于某种原因,我无法将按钮移动到容器中。)

其次,如何让视图在保持约束的同时识别触摸?

【问题讨论】:

显示重现问题的代码。 没有代码。这完全在情节提要中完成。 1.当您在情节提要/界面 biulder 中添加子视图时,Xcode 将添加自动约束,以防子视图(按钮)没有约束,但如果您自己添加一个,Xcode 会识别它并且不会添加自动约束,2. 你可以用图像更新您的问题,您是如何添加约束的以及布局的外观如何,它可以帮助某人识别问题并为您提供一些指导 【参考方案1】:

显然,问题是,为了正确设置布局,我还需要设置固定的宽度和高度。一旦我这样做了,它就可以正常工作了。

【讨论】:

以上是关于iOS - 添加约束后无法识别触摸的主要内容,如果未能解决你的问题,请参考以下文章

iOS:从 iPad 屏幕外开始滑动时,无法识别滑动手势

包含 UILabel 和 UIButton 的 UICollectionViewCell 无法识别对一半单元格的触摸

约束布局更改后,不会触发UIButton操作

iOS 手势识别

无法识别导航栏的图像视图上的触摸。?

JASidePanels,右侧面板中无法识别触摸