UITableViewCell удалить анимацию с прозрачностью - PullRequest
0 голосов
/ 21 мая 2018

У меня есть градиент в качестве фона моего приложения.Я добавил табличное представление сверху, которое имеет четкий фон.Ячейки не имеют фона, а заголовки имеют полупрозрачный фон (белый, 20% альфа).

Я использую insertRowsAtIndexPaths:withRowAnimation: и deleteRowsAtIndexPaths:withRowAnimation: для создания расширяемых / складных контейнеров.Проблема в том, что, поскольку у меня есть прозрачность, когда пользователь нажимает, чтобы скрыть ячейку, UITableViewRowAnimationTop перебирает заголовки раздела и исчезает только после завершения анимации, что очень запутанно.

Как я могу решить это?Есть ли способ создать кастом UITableViewRowAnimation

Спасибо!

1 Ответ

0 голосов
/ 24 января 2019

Я нашел обходной путь, основанный на установке значения alpha на ноль (анимированный) во время анимации удаления ячейки.При таком подходе удаленная ячейка исчезает и перекрывается следующей ячейкой.

В основном вам нужна ссылка на точную ячейку, которую вы хотите удалить в конкретное время.Затем вы просто вызываете:

UIView.animate(withDuration: 0.2, animations: {
    cell.alpha = 0.0
})

Не забудьте сбросить ваше свойство alpha на 1.0, так как представление, вероятно, будет повторно использовано.Я делаю это в моем пользовательском подклассе UITableViewCell:

override func prepareForReuse() {
    super.prepareForReuse()
    // Reset alpha because we're setting it to zero on cell removal        
    alpha = 1.0
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...