繁体   English   中英

在 swift 中,我在 UIStackView 中的 UIView 中有一个 UIButton,按钮没有响应

[英]In swift, I have a UIButton inside a UIView inside a UIStackView, and the button is not responding

我有一个 UIButton,为此我有一个 touchUpInside IBAoutlet function 调用,它嵌入在一个视图中,然后嵌入在一个堆栈视图中。 我为堆栈视图、视图和按钮的所有三个启用了用户交互。

但是,当我单击按钮时,不会调用 touchUpInside function。 有谁知道这是否有解决方案?

按钮的容器视图可能被缩小到一个小尺寸,因此它和它的子视图不会接收到触摸。 显示子视图是因为所有视图的“Clip to bounds”默认为 false。 所以子视图甚至在边界之外绘制。 最简单的检查方法是为容器视图提供背景颜色。 如果是这种情况,那么有几种方法可以解决此问题:

  1. 给容器设置合理的约束。 例如,坚持最近邻边界。 或者设置最小尺寸。
  2. 设置容器视图的大小。
  3. 如果容器视图在 UIStackView 内部,您可以设置Alignment = Fill ,(不是Center )这将使容器视图占用 UIStackView 建议的空间。

在有限的背景下,我只能给出一个猜测。 也许有什么东西挡住了按钮,比如它上面的另一个视图? 有时 storyboard 文件中的事物顺序可能会使某些事物无法注册触摸。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM