Решение, опубликованное @MadhavanRP, работает, но оно сложнее, чем нужно.Вы можете воспользоваться более простым подходом и создать один распознаватель жестов, который обрабатывает все пролистывания, которые происходят в таблице, а затем получить местоположение пролистывания, чтобы определить, какая ячейка была пролистана пользователем.
Чтобы настроить распознаватель жестов:
- (void)setUpLeftSwipe {
UISwipeGestureRecognizer *recognizer;
recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self
action:@selector(swipeLeft:)];
[recognizer setDirection:UISwipeGestureRecognizerDirectionLeft];
[self.tableView addGestureRecognizer:recognizer];
recognizer.delegate = self;
}
Вызовите этот метод в viewDidLoad
Для обработки пролистывания:
- (void)swipeLeft:(UISwipeGestureRecognizer *)gestureRecognizer {
CGPoint location = [gestureRecognizer locationInView:self.tableView];
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:location];
... do something with cell now that i have the indexpath, maybe save the world? ...
}
примечание: ваш виртуальный канал должен реализовать распознаватель жестовделегировать.