Я работаю над компонентом пользовательского интерфейса, который реализует анимацию флип-карт. Все работает нормально, но когда я изменяю содержимое верхнего CALayer на новое изображение, старое изображение остается видимым перед изменением. Это создает путаницу. Для лучшего объяснения я помещаю GIF анимацию, приведенную ниже:Изменение содержимого CALayer до завершения анимации
Это код с изменив содержание CALayer:
firstTopLayer.contents = secondTopLayer.contents
let bottomAnim = CABasicAnimation(keyPath: "transform")
bottomAnim.duration = animDuration/2
bottomAnim.repeatCount = 1
bottomAnim.fromValue = NSValue.init(caTransform3D:
CATransform3DMakeRotation((CGFloat)(M_PI_2), 1, 0, 0))
bottomAnim.toValue = NSValue.init(caTransform3D:
CATransform3DMakeRotation(0, 1, 0, 0))
bottomAnim.isRemovedOnCompletion = true
bottomAnim.timingFunction = CAMediaTimingFunction.init(name: kCAMediaTimingFunctionEaseIn)
firstBottomLayer.add(bottomAnim, forKey: "bottom")
firstBottomLayer.contents = self.bufferContents
Для получения дополнительной информации, которую я разместить ссылку на repository