Ios 停止将UIButton设置为';主动';当手指被拖出其边界时

Ios 停止将UIButton设置为';主动';当手指被拖出其边界时,ios,objective-c,uibutton,Ios,Objective C,Uibutton,我如何使ui按钮的区域变小,其中按钮仍会触发touchUpInside方法?当我按下按钮并将手指拖到按钮外(而不是抬起手指)时,按钮边界外使按钮高亮显示的区域相当大 我想实现的是,只有当手指(被拖动)仍在按钮的边界内时,touchUpInside方法才会被触发。目前,如果你按下一个按钮,在不抬起手指的情况下,将手指拖到按钮外,调用touchUpInside方法(而不是touchupExide方法)的区域相当大。我是否可以将touchUpInside方法限制为仅当手指位于按钮边界内时才调用 谢谢。

我如何使
ui按钮
的区域变小,其中按钮仍会触发
touchUpInside
方法?当我按下按钮并将手指拖到按钮外(而不是抬起手指)时,按钮边界外使按钮高亮显示的区域相当大

我想实现的是,只有当手指(被拖动)仍在按钮的边界内时,
touchUpInside
方法才会被触发。目前,如果你按下一个按钮,在不抬起手指的情况下,将手指拖到按钮外,调用
touchUpInside
方法(而不是
touchupExide
方法)的区域相当大。我是否可以将
touchUpInside
方法限制为仅当手指位于按钮边界内时才调用


谢谢。

我不太清楚我是否明白你的问题。因此,我想提供我的两个解决方案:

  • 棘手的一点是:将另一个较小的子视图添加到正在拖动的按钮上,关闭此按钮的用户交互,并在完成拖动后重新激活它

  • 禁用“稳定”按钮的用户交互,您可以根据其框架识别两个按钮是否相互接触。当你像上面那样做的时候,反应式用户交互


  • 谢谢你的回答。向按钮添加子视图有什么好处?我需要在按钮上注册一个“点击并按住”,这样就会调用touchUpOutside方法。至于第二点:按钮没有相互接触,也永远不会接触——我不会把一个按钮拖到另一个按钮上。我会尽量让我的问题更清楚。我想我把它复杂化了。