Как внедрить UISwipeGestureRecognizer в ячейку UITableView?

Как я могу добавить жест смахивания в ячейку представления таблицы? я использую пользовательскую ячейку в представлении таблицы, и мне нужно удалить эту строку из таблицы, поэтому, пожалуйста, подскажите, как я могу использовать этот жест смахивания в представлении таблицы?


person Mashhadi    schedule 14.09.2011    source источник
comment
обратитесь к stackoverflow.com/questions/4604296/   -  person Nikunj Jadav    schedule 14.09.2011
comment
Спасибо nikunj, ты мне помог :)   -  person Mashhadi    schedule 19.09.2011


Ответы (2)


Абсолютно так же, как и в любом другом представлении. Вставьте этот код либо в инициализацию пользовательской ячейки, либо в метод cellForRowAtIndexPath вашего делегата UITableViewDataSource.

UISwipeGestureRecognizer *recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:myTableViewController action:@selector(removeCell:)];
recognizer.direction = UISwipeGestureRecognizerDirectionLeft;
recognizer.numberOfTouchesRequired = 1;
[self addGestureRecognizer:recognizer];
[recognizer release];
person Valeriy Van    schedule 14.09.2011
comment
Я новичок, так что не обращайте внимания на мои глупые вопросы. пожалуйста, дайте мне более подробную информацию. cz он не обнаруживает свайп - person Mashhadi; 14.09.2011
comment
попробуйте изменить 21 на 1. Это означает, что вам нужен 21 палец, не так ли? - person user2277872; 17.06.2013

Вы должны реализовать два метода делегата.

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
     return YES;
}

и другой метод, при котором вам нужно выполнить редактирование или удаление кода.

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
    if (editingStyle == UITableViewCellEditingStyleDelete)  {
        //write delete code.
        [arry removeObjectAtIndex:indexPath.row];

        [Table reloadData];
    }
}
person Mobile App Dev    schedule 14.09.2011