Избегайте перемещения UITableViewCell при переключении между режимами редактирования - PullRequest
1 голос
/ 13 августа 2010

Хорошо, у меня странное поведение, и этот вопрос задается людям, которые уже столкнулись с этой проблемой.

У меня есть 4 разных подкласса UITableViewCells. Все они очень похожи (я не вижу различий, которые могли бы вызвать проблему).

Теперь делегат моего UITableView имеет следующий код:

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (indexPath.section < 2)
             return UITableViewCellEditingStyleNone;
     else if (indexPath.row == [[AccountManager sharedManager].accounts count])
      return UITableViewCellEditingStyleNone;
     else return UITableViewCellEditingStyleDelete;
 }

Теперь я бы хотел, чтобы первые 2 строки не менялись при изменении состояния setEditing: свойство моего tableView.

Вот сложная часть:

первые 2 строки перемещаются вправо без появления значка «Удалить».

В последнем разделе ячейки не сдвигаются ни на один пиксель вправо, и только у строк появляется «значок удаления».

Вот некоторая информация:

Ни один из моих показов и подпредставлений не поддерживает - (void) layoutSubviews

Все они реализуют - (void) drawRect: (CGRect) rect

Все ячейки и подвиды ячеек ContentMode имеют свои настройки по умолчанию Все autoresizingMask настроены по умолчанию.

Есть идеи?

1 Ответ

3 голосов
/ 14 августа 2010

Если вы добавите свое подпредставление непосредственно в UITableViewCell, анимация не будет работать при переключении режима редактирования в UITableView.

Если вы хотите, чтобы они были активированы, вы должны добавить свое подпредставление в свойство contentView UITableViewCell.

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