通过长按并将手指向下移动到后续单元并选择它们来选择多个UITableviewCell,
任何人都知道使用UILongPressGestureRecognizer
这样做的方法(想想Spotify触摸预览)
答案 0 :(得分:0)
这可能会变得棘手,但也许我可以指出正确的道路。
首先,您需要一种可靠的方法来启动长按并继续跟踪平底锅。您可能需要将UIPanGestureRecognizer
与UILongPressGestureRecognizer
结合使用,应用于视图本身(而不是单元格)。当声像识别器已激活时,您需要禁用UITableView
手势识别器,以免它们发生干扰。所有这些都需要UIGestureRecognizerDelegate
。
有关长按和长按的更多信息,请参阅此帖锅识别器:
Combining a UILongPressGestureRecognizer with a UIPanGestureRecognizer
接下来,您需要一种有效的视图中单元格命中测试方法。假设您正在将self.view用于手势识别器,请尝试:
if (panRecognizer.state == UIGestureRecognizerStateBegan || sender.state == UIGestureRecognizerStateChanged) {
CGPoint location = [panRecognizer locationInView:self.view];
UIView *subview = [self.view hitTest:location withEvent:nil];
}
然后,您可以将其与表格视图中的单元格相关联,然后触发选择:
if ([subview isKindOfClass:[UITableViewCell class]]) {
NSIndexPath *path = [tableView indexPathForCell:(UITableViewCell *)subview];
[tableView selectRowAtIndexPath:path animated:YES scrollPosition:UITableViewScrollPositionNone];
}
这完全是假设的,但它应该是解决这个问题的直接方式。挑战在于将手势识别器配置为与您的表格视图一起使用。
如果您有任何疑问,请与我联系!