Анимированное удаление UITableViewCellAccessory - PullRequest
3 голосов
/ 23 декабря 2010

Есть ли способ анимировать удаление аксессуара ячейки UITableView?

В настоящее время я показываю UITableViewCellAccessoryDisclosureIndicator, но я хотел бы анимировать переключение индикатора раскрытия с помощью переключателя UIS на все видимые ячейки таблицы.

Я пробовал что-то вроде этого:

[UIView animateWithDuration:0.3
                 animations:^{
                   for (SwitchTableViewCell *cell in self.tableView.visibleCells)
                   {
                     cell.accessoryType = UITableViewCellAccessoryNone;
                   }                     
                 }];

... но, к сожалению, это никак не отразилось.Индикатор раскрытия внезапно исчезает, и ширина contentView скачет за один шаг, а не плавный переход.

1 Ответ

3 голосов
/ 24 декабря 2010

accessoryType не является анимируемым свойством.Есть два способа сделать это, в зависимости от вашей ситуации.Самый простой способ применяется, только если вы меняете аксессуар на UISwitch из-за входа в состояние редактирования.В этом случае просто используйте cell.editingAccessoryType = theSwitch; в вашем tableView:cellForRowAtIndexPath: методе.В этом случае табличное представление при входе в режим редактирования будет выполнять постепенное исчезновение / затухание.

Если вы делаете это вне режима редактирования, то следующий код сделает то, что вы хотите:1007 * Однако я не знаю, попадет ли этот код в магазин приложений, поскольку он использует скрытое свойство _accessoryView.

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