Question

I need to change the title of the default delete button that appears when I attempt to delete a row from a UITableView after setting editing to YES.

Was it helpful?

Solution

You can change it in UITableView delegate method

- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath

OTHER TIPS

Swift

Add this method to your UITableView delegate (probably your view controller).

func tableView(_ tableView: UITableView, titleForDeleteConfirmationButtonForRowAtIndexPath indexPath: NSIndexPath) -> String? {
    return "Erase"
}

This makes the button say "Erase" but you can use any string you want.

enter image description here

My fuller answer is here.

Swift 3

With a small difference _

func tableView(_ tableView: UITableView, titleForDeleteConfirmationButtonForRowAt indexPath: IndexPath) -> String? {
    return "Erase"
}

For those who already have implemented method 'titleForDeleteConfirmationButtonForRowAtIndexPath' and still see same 'Delete' text.

Try to type in method from scratch with autocompletion, because I copied someone's and it has a little bit different older notation and didn't get called!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top