Я разрабатываю приложение iOS, которое имеет один вид UITableView
с двумя пользовательскими UITableViewCell
. Все это с помощью основной раскадровки.
Все работает очень хорошо. Но то, что мне нужно реализовать, - это одиночная затухающая анимация в/от только одна ячейка.
В настоящее время I'm, используя этот код, чтобы оживить вид:UIView animation внутри UITableViewCell
[UIView animateWithDuration:1.2
delay:0
options:UIViewAnimationOptionAutoreverse | UIViewAnimationOptionRepeat | UIViewAnimationOptionCurveEaseInOut animations:^{
self.myView.alpha = 0;
} completion:^(BOOL finished) {
self.myView.alpha = 1;
}];
В методе «установлено содержание», который я называю в методе источника tableView:cellForRowAtIndexPath:
данных о UITableView
.
Анимация работает нормально. Даже если изменение между представлениями все еще оживляет вид. Моя проблема заключается в том, когда я перезагружаю данные из представления таблицы, или представление таблицы прокручивается вверх или вниз до тех пор, пока ячейка с анимацией не исчезнет, и ей придется повторно использовать ячейку, чтобы отобразить ее снова, в этот момент ячейка не представлена без анимации.
Что мне здесь не хватает? Есть ли лучший способ реализовать это? Как перезапустить анимацию после повторного использования ячейки в ячейке?
Я думаю, важно отметить, что в соответствии с моим дизайном пользовательского интерфейса только одна ячейка будет иметь анимацию.
Спасибо.
Да, тх помог, благодаря!. Но все еще не работает в некоторых других случаях, таких как метод reloadData. Благодаря вашему ответу, а также с помощью метода tableView: didEndDisplayingCell: forRowAtIndexPath: ', чтобы остановить анимацию, потому что кажется, что это также вызывает проблемы. –
В willDisplayCell: если вы анимируете представление в течение 1,2 секунд, чем после того, как эта продолжительность закончится, анимация остановится автоматически, на самом деле я не понял использование tableView: didEndDisplayingCell: forRowAtIndexPath: method. Мне нужно знать его использование, можете ли вы, пожалуйста, немного рассказать об этом, спасибо. –
Я использую его, чтобы удалить анимацию из представления, потому что я понял, что если анимация прерывается, она не начнется снова. –