2017-02-27 101 views
0

我有一个UIButton具有四个子UILabels,其中包含有关按钮功能的信息。当我点击按钮的中心时,动作不会被触发,因为它被UILabels阻挡,但是当我点击按钮的外部时,动作会触发。有没有办法阻止UILabels阻止动作触发?如何防止UILabel在Swift中阻塞对父UIButton的触摸?

+1

您是否尝试过通过设置'.isUserInteractionEnabled = false'来禁用该标签的用户交互? – Tj3n

+0

当点击按钮的外部时,你怎么能触发这个动作?你确定吗? –

+0

@YUNCHEN UILabels和UIButton两边之间的边距为5,所以当我点击边距时,动作会触发 – SmedleyDSlap

回答

3

您需要在按钮上方的任何视图或其子视图上设置isUserInteractionEnabled = false

默认UILabel设置为false,但正如您在评论中提到的那样,UIStackView没有。所以调用isUserInteractionEnabled = false就可以了┌(ಠ‿ಠ)┘

+0

啊,很长一段时间我从来没有测试触摸手柄高于另一个我从来没有试过触摸会“通过”到视图在它下面。 :) Upvoted,删除我的答案。 – 2017-02-27 03:18:23