Нужна помощь с расширенной проблемой CALayer.
У меня есть UIView, который добавляет CAShapeLayer. Слой приостановлен (скорость = 0), и к нему прикреплена анимация, которой я хочу управлять вручную.
Очень похоже на здесь: Tweening/Интерполяция между двумя CGPaths/UIBeziers - кроме моего view — это ячейка представления коллекции.
Все работает, как и ожидалось, за исключением того, что я не хочу начинать с позиции 0. Каждая ячейка может начинаться с другой позиции в анимации.
Когда представление коллекции запрашивает мое представление, я пытаюсь настроить layer.timeOffset, скажем, на 0,5, а не на 0. Это не работает, и я перепробовал все обратные вызовы View и Layer и делегирования, которые смог найти.
Единственный обходной путь, который я нашел, был в: dequeueReusableCellWithIdentifier
вместо установки cellView.subLayer.timeOffset = 0.5;
я отправляю обновление позже:
dispatch_after(main_queue, a bit later, ^{
cellView.subLayer.timeOffset = 0.5
});
Итак, мой вопрос в том, что эквивалентно viewDidLoad для слоев/анимаций. Когда действительно сработает вызов timeOffset для слоя?
У кого-нибудь была эта проблема?