我在为我的UITableView添加长按手势时遇到了问题。实际上,我已经设置了一个长按手势识别器,但是我将最小点击持续时间设置为0.08秒。这样做是因为我希望在单击和长按单元格时拥有相同的一般动作,但是根据单元格被按住的时间不同,动作会有所改变。无论如何,下面是我添加手势识别器的代码(在viewDidLoad
中):
var longPress:UILongPressGestureRecognizer = UILongPressGestureRecognizer(target: self, action: "handleLongPress:")
longPress.minimumPressDuration = 0.08
longPress.delegate = self
longPress.cancelsTouchesInView = false
self.tableView.addGestureRecognizer(longPress)
self.tableView.panGestureRecognizer.requireGestureRecognizerToFail(longPress)
在我的
handleLongPress()
函数中,我获取长按的CGPoint,然后从中获取tableView单元格。因此,基本上,如果我快速滚动(例如,如果我轻弹屏幕),则表视图会正常滚动。如果我尝试缓慢滚动,则长按事件会触发,我就无法滚动。
我想做的只是能够缓慢滚动,我希望表格视图默认的滚动手势覆盖任何长按。
谢谢!