Как изменить текст кнопки удаления uitableview

Привет, я пытаюсь изменить текст, который отображается в кнопке удаления, когда пользователь просматривает uitableviewcell внутри моего табличного представления.

Я видел пример в другом вопросе, который говорит, чтобы использовать этот делегат tableview

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

Мой вопрос в том, как я могу использовать этот метод. Я не уверен, как это использовать.

Ответы

Ответ 1

В контроллере, управляющем UITableView, вы должны реализовать UITableviewDelegate и вернуть заголовок, который вы хотите для своего метода, внутри метода titleForDeleteConfirmationButtonForRowAtIndexPath.

Пример:

@interface CategoryAddViewController : UITableViewController
@end

@implementation CategoryAddViewController
// ...
-(NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath {
return @"Please don't delete me!";
}

@end

Оставив вас с чем-то вроде этого:

enter image description here

Ответ 2

В Swift он равен, только сигнатура метода различна!

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

Ответ 3

Просто верните строку, которую вы хотите отобразить, вместо удаления. Предположим, вы хотите показать "Стереть" для всех строк, указанная выше функция должна содержать:

return @"Erase";

Прочитайте ЭТО

Также в вашем .h файле добавьте UITableViewDelegate, если ваш контроллер просмотра уже не является UITableViewController. То есть это может быть:

@interface SomeView : UIViewController <UITableViewDelegate>

ИЛИ

@interface SomeView : UITableViewController