滑动然后按住 - 触摸开始/触摸移动/触摸结束



我正在为iOS开发一个应用程序,我希望用户能够在屏幕上选择一些内容,然后在选择结束时能够按住手指一秒钟,以触发其他事件。

我已经创建了很多操作,当用户通过滑动来标记内容时。为此,我一直在使用:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    //Stuff here
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
    //Stuff here
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
    //Stuff here
}

我不在乎是否使用这些函数,或者是否由UIGestureRecognizer完成,但我根本找不到一种高效而简单的方法来实现这一点。

有什么建议吗?

您可以在触摸开始时启动 NSTimer,如果手指在目标区域内,并且如果在计时器触发之前调用触摸结束函数 r 在触摸移动函数中满足某些条件,然后取消计时器,否则让它触发。

您可能需要使用计时器以及平移手势识别器。当手指到达目标区域时,启动计时器。如果手指移出该区域,则使计时器失效。如果计时器触发,则长按。

最新更新