Могу ли я заставить kCATransitionReveal kCATransitionFade работать одновременно?

#ios #core-animation #caanimation

Вопрос:

Чего я хочу добиться, так это эффекта kCATransitionReveal, в то время как он также исчезает.

Я использую анимацию для анимации изменения содержимого UIImageView. С помощью kCATransitionReveal старое изображение исчезает, в то время как новое уже видно ниже. Я хочу, чтобы старое исчезло в то же время, когда оно уходит.

Я пробовал использовать CAAnimationGroup добавление двух CATransition , один из которых настроен с kCATransitionReveal , а другой с kCATransitionFade , но я вообще не вижу никакой анимации.

Комментарии:

1. Вы пробовали анимировать alpha значение одновременно (вместо kCATransitionFade )

2. Да, проблема в том, что это влияет на раскрываемый образ, а не на тот, который исчезает.

3. Вместо использования встроенного перехода просто напишите свою собственную анимацию.

4. Я не думаю, что это так просто. CATransition кажется, что добавляется второй слой, а затем он анимирует оба слоя для достижения желаемого эффекта. Поэтому, если я не ошибаюсь, решение состоит в следующем: 1) добавьте копию текущего слоя сверху, 2) обновите изображение в фоновом слое, 3) анимируйте положение и непрозрачность добавленного слоя, 4) после завершения анимации удалите слой, используемый для анимации. К сожалению, это не очень хорошо соответствует моему существующему коду, и потребуется серьезный рефакторинг.