Как изменить текст кнопки удаления uitableview - PullRequest
75 голосов
/ 13 сентября 2011

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

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

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

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

Ответы [ 3 ]

194 голосов
/ 13 сентября 2011

В вашем контроллере, управляющем 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

29 голосов
/ 14 октября 2015

В Swift он равен, просто сигнатура метода отличается!

func tableView(tableView: UITableView, titleForDeleteConfirmationButtonForRowAtIndexPath indexPath: NSIndexPath) -> String? {
  return "Erase"
}
4 голосов
/ 13 сентября 2011

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

return @"Erase";

Чтение ЭТО

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

@interface SomeView : UIViewController <UITableViewDelegate>

ИЛИ

@interface SomeView : UITableViewController
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...