Приостановить анимацию в EAGLView, который находится в UITableViewCell.
-
02-10-2019 - |
Вопрос
У меня есть анимация в EAGLView, которая сама находится в UITableViewCell.Как приостановить анимацию в EAGLView, если представление не отображается?
Обычно я бы просто использовал ответственный UIViewController и слушал viewDidDisappear.Но как это сделать, если EAGLView находится в таблице?
Решение
Я не думаю, что это задача вообще реализуемая.Как только ваша ячейка будет прокручена из поля зрения, она будет немедленно освобождена.Поэтому, если у вас есть пользовательская ячейка, анимацию все равно придется останавливать в -dealloc.
РЕДАКТИРОВАТЬ 1:На самом деле я был не совсем точен:Я написал "мгновенно", но это конечно зависит от ОС и Apple и может быть изменено в будущих версиях.Фактически, ячейка освобождается всякий раз, когда этого требует сборщик мусора ОС.В настоящее время Apple освобождает одну ячейку всякий раз, когда ей нужна новая.Обычно прокрутка таблицы подразумевает, что одна строка исчезает и появляется новая, поэтому освобождение происходит мгновенно.Если включенное представление содержит табличное представление, вы увидите такое же мгновенное освобождение.