CoreAnimation CATransform3DScale скрывает UIView

#ios #swift #core-animation

#iOS #быстрый #ядро-анимация

Вопрос:

Я пытаюсь сделать так, чтобы изображение появилось на экране. Однако каждый раз, когда я пытаюсь использовать CATransform3DScale, представление исчезает. Я попытался настроить zPosition, но это не сработало. Я использую «Оживление» из cocoapods. Похоже, я не могу найти решение этой проблемы.

 private func setupAnimation(){  var transform = CATransform3DIdentity  transform.m34 = -1.0/500.0  //containerViews[0].layer.anchorPoint = CGPoint(x: 0.0, y: 0.0)  containerViews[0].layer.zPosition = CGFloat(Float.greatestFiniteMagnitude)  transform = CATransform3DScale(transform, 0, 0, 1)  let animation = BasicAnimation(keyPath: .transform)  animation.fromValue = CATransform3DIdentity  animation.toValue = transform  animation.duration = 3.0  animation.setAnimationDidStop { _ in  print("hello")  self.containerViews[0].layer.zPosition = 0  }  animation.animate(in: containerViews[0].layer)  }  

Вид исчезает, а затем появляется снова после продолжительности анимации.

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

1. Попробуйте дать нам лучшее описание «выскакивания из экрана» … Вы пытаетесь начать с очень маленького представления и заставить его «вырасти»?

2. преобразование = CATransform3DScale(преобразование, 0, 0, 1) должно быть увеличено с 1. Это была ошибка с моей стороны, и я не понимал, что должна была делать трансформация

3. Не могли бы вы дать ответ на свой собственный вопрос и отметить его как решенный?

Ответ №1:

преобразование = CATransform3DScale(преобразование, 0, 0, 1) должно быть увеличено с 1. Это была ошибка с моей стороны, и я не понимал, что должна была делать трансформация

Также из значения не должно быть идентичности