Настройка self.editButtonItem с помощью проверки и снятия флажка- СПРАВКА

#iphone #objective-c #xcode #rightbarbuttonitem

#iPhone #objective-c #xcode #rightbarbuttonitem

Вопрос:

Итак, что касается rightBarButtonItem . У меня есть

 self.navigationItem.rightBarButtonItem = self.editButtonItem;
  

Когда я нажимаю Edit, я получаю анимацию и вертикальную полосу с левой стороны каждой ячейки tableViewCell.
Когда я нажимаю на эту полосу, кнопка Удаления появляется в правой части ЭТОЙ tableViewCell.

Я хочу сделать две вещи.

  1. Переименуйте это ‘Delete’ в ‘Check’
  2. Если флажок установлен, на нем должно отображаться ‘Uncheck’, который нужно нажать.

Я был бы признателен за любую помощь в этом..

🙂

Ответ №1:

Внедрите tableView:titleForDeleteConfirmationButtonForRowAtIndexPath: в свой делегат табличного представления.

Комментарии:

1. Это был плохой ответ! Спасибо. Не могли бы вы также ознакомить меня с логикой настройки кнопки снятия флажка, если она установлена?

2. Дэн, я понял. Хотя спасибо за совет.

Ответ №2:

Для второй части ответа я сделал это.

 if (editingStyle == UITableViewCellEditingStyleDelete) {

 UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath];

 if (selectedCell.accessoryType == UITableViewCellAccessoryNone)
 {
     selectedCell.accessoryType = UITableViewCellAccessoryCheckmark;
 }
 else 
     if (selectedCell.accessoryType == UITableViewCellAccessoryCheckmark)
     {
         selectedCell.accessoryType = UITableViewCellAccessoryNone;
     }

}   
  

и

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

UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath];

if (selectedCell.accessoryType == UITableViewCellAccessoryNone)
{

    return (@"Check");
}
else 
    if (selectedCell.accessoryType == UITableViewCellAccessoryCheckmark)
    {

        return (@"UnCheck");
    }

}