我正在开发一个应用程序,其中我使用的一个屏幕有tableview,它是tableview控制器。我已经在tableview控制器类中编写了自定义touchesbegan,touchesmoved,touchesended方法,当用户按下任何单元格touchesbegan方法正在调用并使用此检测长按我所做的是
[self performSelector:@selector(longTap) withObject:nil afterDelay:1.0];
如果用户在1秒之前删除了他的手指,则touchesmoved
和touchesended
方法取消performselector
。
现在发生的事情是当我按下&保持1分钟longTap
方法正在调用,willSelectRowAtIndexPath
,didselectRowAtIndexPath
未调用。但我需要在对longTap
方法执行任何操作之前获取indexpath.row值
任何人都可以帮我解决这个问题。请分享您宝贵的建议。
提前致谢。
答案 0 :(得分:0)
您应该考虑使用像UILongPressGestureRecognizer
这样的手势识别器。摆弄触摸事件本身很难并且容易出错。
很容易打破UIKit类依赖于功能的事件流。手势识别器是用于连接触摸事件流的公共API,简单易用,不会破坏UIKit功能。