Я использую SWTableViewCell, и я хочу знать действие, которое запускается, когда пользователь салфет влево или вправо.UITableViewCell Как я могу обнаружить, что пользователь нажал влево или вправо?
ответ
вы должны добавить Gesture распознавателя в вас cellForRowAtIndexPath
UISwipeGestureRecognizer* swRight = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(cellSwipedRight:)];
[swRight setDirection:UISwipeGestureRecognizerDirectionRight];
[cell addGestureRecognizer:swRight];
UISwipeGestureRecognizer* swLeft = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(cellSwipedLeft:)];
[swLeft setDirection:UISwipeGestureRecognizerDirectionLeft];
[cell addGestureRecognizer:swLeft];
, а затем его метод селектор
-(void)cellSwipedRight:(UIGestureRecognizer *)gestureRecognizer
{
if (gestureRecognizer.state == UIGestureRecognizerStateEnded) {
// your code
}
}
-(void)cellSwipedLeft:(UIGestureRecognizer *)gestureRecognizer
{
if (gestureRecognizer.state == UIGestureRecognizerStateEnded) {
// your code
}
}
, как я сказал @ kb920 - Этот подход распознает только состояние 'UIGestureRecognizerStateEnded'. –
Нет ... он распознает множественное состояние, когда я комментирую ваш вопрос 'UIGestureRecognizerStateBegan',' UIGestureRecognizerStateCancelled', 'UIGestureRecognizerStateChanged',' UIGestureRecognizerStateEnded' и т. Д. –
Он работал благодаря вам, а также нашел другое решение для этого [SWTableViewCell] (https://github.com/CEWendel/SWTableViewCell) Библиотека '- (void) swipeableTableViewCell: (SWTableViewCell *) cell scrollingToState: (SWCellState) состояние;' –
Попробуйте этот код он будет работает для вас:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
UISwipeGestureRecognizer* swipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(cellSwiped:)];
[swipe setDirection:UISwipeGestureRecognizerDirectionRight];
[cell addGestureRecognizer:swipe];
cell.textLabel.text = [NSString stringWithFormat:@"Cell %d", indexPath.row];
return cell;
}
- (void)cellSwiped:(UIGestureRecognizer *)gestureRecognizer
{
if (gestureRecognizer.state == UIGestureRecognizerStateEnded)
{
UITableViewCell *cell = (UITableViewCell *)gestureRecognizer.view;
NSIndexPath* indexPath = [self.tableView indexPathForCell:cell];
//..
}
}
- 1. Обнаружить, если пользователь движется пальцем влево или вправо (Swift)
- 2. Как обнаружить прокрутку влево/вправо на iPhone?
- 3. Как переместить содержимое содержимого UITableViewCell влево или вправо?
- 4. Как узнать, перетаскивает ли пользователь iosSlider влево или вправо?
- 5. Обнаружить, если «проигрыватель» находится влево или вправо от середины экрана.
- 6. Обнаружить салфетки вправо/влево во Фрагментах?
- 7. Как я могу обнаружить, что пользователь нажал кнопку форматирования в UIMenuController?
- 8. Как я могу понять, что пользователь нажал какое ключевое слово?
- 9. Как я могу обнаружить, что пользователь нажал на вкладке «Страница», где находится моя страница html?
- 10. UITableViewCell: не перерабатывать ячейку, которую пользователь нажал
- 11. Записать, что пользователь нажал
- 12. Android Проведите пальцем влево или вправо?
- 13. UIScrollView перетащить вправо или влево
- 14. Как переместить текст UILabel влево или вправо?
- 15. Как обнаружить движение влево, вправо, вверх и вниз
- 16. Слайд-изображение влево или вправо
- 17. обнаружить, если пользователь нажал на UIImageView
- 18. Как сместить изображение влево (или вправо)?
- 19. приложение FC, если пользователь нажимает слишком много влево или вправо
- 20. Проведите пальцем вправо или влево
- 21. Влево или вправо Вид дерева
- 22. Как перемещать выделенный текст Влево или вправо
- 23. Как я могу обнаружить, что пользователь коснулся элемента списка?
- 24. обнаруживает, что расширенный рабочий стол находится влево или вправо.
- 25. Как узнать, если я переместил мышь влево или вправо
- 26. Как я могу перемещать цилиндр вправо и влево?
- 27. Как переместить что-то влево или вправо на питоне?
- 28. Как узнать, что просмотрщик просматривает влево или вправо?
- 29. Как обнаружить перетаскивание влево и вправо с ограничением движения?
- 30. Как проверить прокрутку пользователя влево или вправо?
Проверить это HTTP : //stackoverflow.com/questions/6167756/how-to-detect-a-swipe-to-delete-gesture-in-a-customized-uitableviewcell – kb920
Этот подход только распознает состояние 'UIGestureRecognizerStateEnded' –
@ahmedlabib, у него есть несколько опций для' UIGestureRecognizerState', как началось, отменено, изменилось, закончилось и т. Д. –