Mashhadi
Mashhadi

Reputation: 3024

How to impliment UISwipeGestureRecognizer on UITableView cell?

How can i add swipe gesture in my table view cell? i am using custom cell in tableview and i have to delete that row from table so please guide me how can i use this swipe gesture in table view?

Upvotes: 1

Views: 4485

Answers (2)

Valeriy Van
Valeriy Van

Reputation: 1865

Absolutely the same as in any other view. Insert this code either in your custom cell's init or in cellForRowAtIndexPath method of your UITableViewDataSource delegate.

UISwipeGestureRecognizer *recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:myTableViewController action:@selector(removeCell:)];
recognizer.direction = UISwipeGestureRecognizerDirectionLeft;
recognizer.numberOfTouchesRequired = 1;
[self addGestureRecognizer:recognizer];
[recognizer release];

Upvotes: 1

Mobile App Dev
Mobile App Dev

Reputation: 1814

You have to implement two delegate method.

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

and other method where you have to perform you editing or deleting code.

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

        [Table reloadData];
    }
}

Upvotes: 0

Related Questions