From what I can understand from this page, the delegate method tableView:canEditRowAtIndexPath:
is also called when the edit button is tapped.. Which means that you don't have to subclass the tableview. I haven't tried this myself, but I'm pretty sure this will do the trick. See the link for more details.
Update:
It is a bit messy to do it like this, as the method is called once for every cell. The correct way would be to use the method Daniel Thorpe mentions in his answer (setEditing:animated:
). But I would just override the method in the UITableViewController
being used (unless you have a subclass that you are working with).
By the way, here is another thread about the exact same thing here on SO: link.