Редактирование удаления UITableView перемещает содержимое ячейки вправо - PullRequest
5 голосов
/ 22 февраля 2011

При настройке [self.tableView setEditing:TRUE]; в табличном представлении слева от таблицы отображаются значки редактирования удаления.Но при использовании таблицы в простом стиле эти круглые значки сдвигают фон строки (и содержимое) вправо.

Как я могу помешать стилю редактирования изменить положение моей ячейки и вместо этого поставить значок поверхячейка?

То, как сейчас это выглядит, как ошибка.

Еще один вопрос по этому вопросу.Есть ли способ определить indexPath.row == 0, чтобы значок setEditing:TRUE не имел значка удаления? *

Ответы [ 2 ]

7 голосов
/ 22 февраля 2011
  1. Установите для свойства shouldIndentWhileEditing ячейки значение NO.
  2. Реализуйте метод делегата tableView:editingStyleForRowAtIndexPath: и верните из него соответствующее значение, например:

    - (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{
       if (indexPath.row == 0)
           return UITableViewCellEditingStyleNone;
       return UITableViewCellEditingStyleDelete;
    }
    
5 голосов
/ 22 февраля 2011

Хорошо, нашел, почему # 1 не работал. Я установил фон строки как представление в cell.contentView вместо того, чтобы поместить его в cell.backgroundView. Таким образом, встроенная функциональность не может отделить фон от контента.

Функция shouldIndentWhileEditingRowAtIndexPath будет препятствовать отступу фона, а не содержимого, так как должно быть место для значка редактирования.

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