Есть ли протокол делегатов, который включает обратный вызов для конца анимированных изменений в UITableView? В частности, reloadSection/Rows?Обратный вызов для анимации UITableView
ответ
Это не ответ, который вы хотите услышать, но нет * :(
делегат табличного представления будет реагировать только these methods.
Однако (это немного рубить, но) анимации около 0,35 секунд долго вы могли бы просто назвать performSelector:withObject:afterdelay:...
* по крайней мере, насколько я знаю...
на самом деле, там нЕ, кажется, способ г o это (хотя и не так прямолинейно, как должно быть!).
Пока нет прямого доступа к какому-то обратный вызову, оказывается, что UITableView
анимация происходит в CAAnimation
. Поэтому простой доступ к completionBlock
из CAAnimation
, кажется, дает вам то, что вы хотите.
Вот как я получил 2 анимации в цепи в моем UITableView
подкласса:
#pragma mark - Section expanding/collapsing
- (void)toggleSection:(NSInteger)index {
int expandedSection = [self ExpandedSection];
if (expandedSection != NO_EXPANDED_SECTIONS_INDEX) {
[self beginUpdates];
[self collapseSection:@(expandedSection)];
[CATransaction setCompletionBlock:^{
if (expandedSection != index) {
[self beginUpdates];
[self expandSection:@(index)];
[self endUpdates];
}
}];
[self endUpdates];
} else {
[self expandSection:@(index)];
}
}
Код в collapseSection:
и expandingSection:
методов просто добавляет/удаляет подразделов, которые должны быть свернутыми или развернутыми. Ключевым моментом здесь является то, что при использовании этого кода я, наконец, могу свернуть один из подсекций THEN развернуть следующий подраздел. Раньше оба анимации происходили одновременно, что было визуально непривлекательным.
Надеюсь, это поможет вам! Я долго пробовал это, ударяя головой о стену, пока не нашел это.
Это написано на iOS 6.0. Я также очень надеюсь, что в какой-то будущей версии это обходное решение/hack устарело!
Это кажется очень эффективным решением. благодаря – LightningStryk
- 1. Обратный вызов анимации libgdx?
- 2. Продолжительность анимации строки UITableView и обратный вызов завершения
- 3. Обратный вызов завершения анимации UIView?
- 4. AngularJS - обратный вызов/последовательность анимации
- 5. Обратный вызов анимации «прогресс» CSS3
- 6. Обратный вызов при завершении анимации
- 7. Обратный вызов Tweenmax выполняется до конца анимации
- 8. Обратный вызов анимации в Framework CreateJS/EaselJS
- 9. Обратный вызов анимации, изменяющий другую переменную
- 10. Обратный вызов анимации углового ng-view
- 11. jQuery. Активировать обратный вызов при запуске анимации
- 12. CALayer: обратный вызов при завершении анимации?
- 13. полные обратный вызов в AngularJS анимации
- 14. JQuery анимации Условный ж/Обратный вызов функции
- 15. Обратный вызов после анимации на новую MKMapCamera
- 16. JQuery настройка анимации обратный вызов бросает ошибку
- 17. Обратный вызов функций после завершения анимации
- 18. Как использовать обратный вызов для анимации цепочек с помощью JavaScript
- 19. Неопределенный «элемент» в $ анимации для ng-view «оставить» обратный вызов
- 20. обратный вызов jquery анимации один раз вместо каждого элемента
- 21. Обратный вызов кадра анимации, когда анимация завершена в Android
- 22. Обратный цикл анимации изображений
- 23. Оплатить обратный вызов только один раз при анимации двух объектов
- 24. Как сделать обратный вызов анимации UIView на обратном?
- 25. Перезагрузка UITableView без анимации
- 26. UITableView строки/ячейки анимации
- 27. Как получить обратный вызов из UIPickerView при анимации selectRow?
- 28. CSS3 - обратный вызов после анимации с добавлением имени класса
- 29. предотвратить обратный вызов от запуска до окончания анимации
- 30. Как анимировать как обратный вызов другой функции анимации
Является ли это надежным/согласованным? Что произойдет, если цикл выполнения задержится? – akaii
Это совсем несовместимо - это немного взломать! Если цикл выполнения задерживается, вы получите паузу между завершением анимации и любым действием, которое вы хотите выполнить. – deanWombourne