IIRC, you can do both. I think the delete button (from swipe left) is overlaid on the row and isn't an accessory view.
Implement:
- (UITableViewCellEditingStyle) tableView:(UITableView *) iTableView editingStyleForRowAtIndexPath:(NSIndexPath *) iIndexPath {
return UITableViewCellEditingStyleDelete;
}
and
- (void) tableView:(UITableView *) iTableView commitEditingStyle:(UITableViewCellEditingStyle) iEditingStyle forRowAtIndexPath:(NSIndexPath *) iIndexPath {
if ( iEditingStyle == UITableViewCellEditingStyleDelete ) {
//delete row & data
}
}
This will let you swipe to delete. For reordering controls I'm not sure if it's enough to just implement tableView:moveRowAtIndexPath:toIndexPath: , you might also need to set the editing property of the tableview to YES.
Sorry I'm not more specific, it's been a while since I've done major tableview tweaking. Test a few things out and see what works. :)