Я пытаюсь анимировать растяжение и сжатие светового меча в моем приложении. В настоящее время у меня все работает, кроме растяжения / сжатия светового меча.
В идеале, я бы хотел, чтобы нижний якорь реальной сабли был заподлицо под верхним якорем рукоятки сабли. Мне удалось добиться некоторых успехов с ограничениями Auto Layout. Однако я изо всех сил пытаюсь найти правильный код для анимации. Как вы можете видеть из моего кода, я попробовал frame.size.height / width, однако он перемещает только кадр сабли (не дескриптор). Строка с frame.size.height достигает того, что я хочу, с точки зрения ее растягивания / роста, но это очень простой способ сделать это.
Текущий метод frame.size.height / width только смещает изображения, как мне добиться возможности растягивать / сжимать? Можно ли этого добиться с помощью функции умножения из ограничений Auto Layout?
@objc func lightsaberTapped() {
print("lightsaber open!")
if mainView.saberImage.isHidden == true {
mainView.saberImage.isHidden = false
UIView.animate(withDuration: 0.5, animations: {
self.mainView.saberImage.frame.size.height -= 500
// self.mainView.saberImage.frame.size.width += 20
}, completion: nil)
lightsaberModel.turnSaberOnAudio.play()
} else {
mainView.saberImage.isHidden = true
UIView.animate(withDuration: 0.5, animations: {
self.mainView.saberImage.frame.size.height += 500
// self.mainView.saberImage.frame.size.width += 20
}, completion: nil)
}
}