Как запретить UITableView резервировать пространство слева от ячейки при включенном редактировании? - PullRequest
12 голосов
/ 22 февраля 2010

Я установил режим редактирования для UITableView, чтобы иметь возможность переупорядочения ячеек. UITableViewCellEditingStyleNone возвращается с помощью editStyleForRowAtIndexPath: метода для каждой ячейки, но он резервирует некоторую область слева от ячейки. Можно ли предотвратить резервирование такой области, потому что мне не нужен значок вставки или удаления слева? Короче говоря, я хочу иметь ячейку, которая занимает всю доступную область и все еще может быть переупорядочена.

Ответы [ 5 ]

34 голосов
/ 28 февраля 2011

// UITableViewDelegate

- (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath {
    return NO;
}
7 голосов
/ 22 февраля 2010

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

cell.shouldIndentWhileEditing = NO;

туда, где вы создаете свою ячейку.

0 голосов
/ 14 марта 2017

У обоих

- (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath {
    return NO;
}

и

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
    return UITableViewCellEditingStyleNone;
}

в вашем UITableViewDelegate. В противном случае содержимое ячейки имеет отступ.

0 голосов
/ 15 декабря 2010

Свойство shouldIndentWhileEditing работает только с сгруппированными таблицами. Я обнаружил, что установка уровня отступа -3 делает работу для простых таблиц. Есть ли способ лучше? Вот что я сейчас использую:

    if (self.tableView.style == UITableViewStylePlain) {
        cell.indentationLevel = -3;
    } else if (self.tableView.style == UITableViewStyleGrouped) {
        cell.shouldIndentWhileEditing = FALSE;
    }
0 голосов
/ 22 февраля 2010

Установите это как 2 или 3

Tableview: indentationLevelForRowAtIndexPath:

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