【问题标题】:iOS - touches not recognized after constraint addediOS - 添加约束后无法识别触摸
【发布时间】:2026-01-18 07:35:01
【问题描述】:

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

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

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

【问题讨论】:

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

标签: ios layout


【解决方案1】:

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

【讨论】: