【问题标题】:UIButton 's touchUpInside will trigger even when the touches already out the bounds of button?UIButton 的 touchUpInside 即使触摸已经超出按钮的范围也会触发?
【发布时间】:2021-11-06 15:18:39
【问题描述】:

我发现 UIButton 的 touchUpInside 会被触发,即使我的手指稍微移出按钮的边界。 如果我希望在手指移出按钮时不调用 touchUpInside 。怎么做

【问题讨论】:

    标签: ios uibutton uikit


    【解决方案1】:

    您无法更改此行为。您必须编写自己的类似按钮的视图。

    【讨论】:

    • 我已经尝试使用带有 TapGestureRecognizer 的 UIView 来执行此操作,但在这种情况下,TapGestureRecognizer 也会在边界之外被调用。似乎唯一的方法是判断 UITouch 的位置,它的位置超出了界限。只是忽略它?
    • 好的,我找到了一个更简单的方法:只需在视图中添加一个 PanGestureRecognizer,在 PanGestureRecognizer 的回调中什么都不做。平移手势识别成功将使其他触摸事件取消。因此,当您的手指移出按钮的边界时,不会调用 TapGesture 的回调
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-12
    • 1970-01-01
    相关资源
    最近更新 更多