ios - 检测用户何时停止触摸 UIButton

标签 ios objective-c uibutton

我有一个 UIButton,它附加了一个 UIPanGesture。当用户按下 UIButton 时,我调用事件 Touch Down。我还想弄清楚用户何时将手指从按钮上抬起,可能是在将手指拖到屏幕上之后。我已经尝试使用诸如 Touch Up InsideTouch Drag Exit 之类的委托(delegate),但是在 UIButton 被拖来拖去之后这些似乎不起作用...

最佳答案

只有在平移手势识别器开始时才会触发。如果用户只是点击按钮,它不会触发。

-(void)setupGesture
{
    UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(handlePan:)];
    [self.yourButton addGestureRecognizer:pan];
 }


-(IBAction)handlePan:(UIPanGestureRecognizer *)sender
{
    switch (sender.state) {
        case UIGestureRecognizerStateEnded:
            //Should fire when the user lifts finger
            break;
        default:
            break;
    }
}

关于ios - 检测用户何时停止触摸 UIButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26417862/

相关文章:

ios - 'OSSpinLock' 在 iOS 10.0 : Use os_unfair_lock() from <os/lock. h> 中被弃用

ios - 我如何继承 UIView?

objective-c - 使用 NSUrlRequest 上传文件导致零字节文件大小

ios - 从电话簿 iOS Swift 获取电子邮件联系人

objective-c - CMake 生成具有本地化的 xcode 项目

ios - 在 UIButton 背景图像顶部添加渐变层

ios - 在 UIScrollView 中缩放 UIImageView 行为很奇怪

ios - 创建加载循环

ios - UIButton角半径与背景图片

ios - 居中 UIButton,旁边有图像