UIButton检测按住,以及“手势识别器”?

Posted

技术标签:

【中文标题】UIButton检测按住,以及“手势识别器”?【英文标题】:UIButton detect press and hold, along with "gesture recognizer"? 【发布时间】:2013-05-07 03:13:01 【问题描述】:

我正试图弄清楚如何检测按下并按住,以及 UIButton 上的手势识别器。

我确实四处寻找,但没有找到我要找的东西。 这是一个快速 gif,看看我正在尝试做什么:http://blitzzmobile.com/files/button.gif (在 gif 的情况下,用户按住“5”按钮并向上拖动以选择添加按钮。) 如果有人能给我提示或指出正确的方向,将不胜感激!

编辑:另外,我想知道是否可以检测“拖动”的位置并相应地制作动画。 (例如:如果有人拖动一半距离以显示新菜单,则菜单会相应地动画)& 检测拖动释放的方法,不是来自UIButton,而是当用户在触摸UIButton 后抬起手指时拖动,调用一个动作,这可能吗?

【问题讨论】:

非常漂亮!不过,除以 6 或减去 4 可能会有点困难:) 用不同的UIGestureRecognizers 代替UIButton 使用UIView 怎么样?我认为,这样您就可以在视图中添加多个手势并分别聆听。 @fahri-azimov 谢谢,我只是检查了手势识别时突出显示的按钮并相应地设置了动画。 【参考方案1】:

对于任何可能从中受益的人,这就是我所做的:

    -(IBAction) yourAction:(UISwipeGestureRecognizer *)recognizer
         if(yourbutton.highlighted)
              //Do your animation/setup here.
         
    

【讨论】:

以上是关于UIButton检测按住,以及“手势识别器”?的主要内容,如果未能解决你的问题,请参考以下文章

UIButton上的长按手势识别器?

如何将手势识别器添加到 UITableViewCell 的 UIImage 和 UIButton?

自定义长按手势识别器

当有长按手势识别器时,UIButton 不会改变文本颜色

如何在滑动手势识别器函数中找到 UIButton 元素的父元素以构造对象?

在滑动手势识别器上禁用“在突出显示时显示触摸”