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

rhfm7lfc  于 2023-01-29  发布在  Swift
关注(0)|答案(2)|浏览(416)

我有一个UIButton,我为它调用了一个touchUpInside IBAoutlet函数,它被嵌入到一个视图中,然后又被嵌入到一个stackview中。我为stackview、视图和按钮都启用了用户交互。
但是,当我点击按钮时,touchUpInside函数没有被调用,有人知道这是否有解决方案吗?

mefy6pfw

mefy6pfw1#

按钮的容器视图可能缩小为较小的大小,因此它及其子视图不会接收到触摸。显示子视图是因为默认情况下所有视图的“剪切到边界”为false。因此,即使在边界之外也会绘制子视图。最简单的检查方法是为容器视图提供背景色。如果是这种情况,则有几种方法可以解决此问题:
1.给容器设置一个合理的约束。例如,坚持最近的相邻边界。或者设置一个最小尺寸。
1.设置容器视图的大小。
1.如果容器视图在UIStackView内部,则可以设置Alignment = Fill(而不是Center),这将使容器视图占用UIStackView建议的空间。

9rnv2umw

9rnv2umw2#

由于上下文有限,我只能给予一个猜测。也许有什么东西挡住了按钮,比如它上面的另一个视图?有时候你的故事板文件中的顺序会使某些东西没有注册触摸。

相关问题