Я хочу, чтобы изображение моих кнопок анимировалось, когда я нажимал на него, и анимировало назад, когда я нажимаю снова.
https://imgur.com/a/nsDIRXi
Я хочу стрелку справа (которая являетсяизображение, установленное из инспектора) для анимации на 90 градусов по часовой стрелке (у меня есть набор изображений для этого), когда я нажимаю кнопку один раз, и для ее анимации обратно при повторном нажатии кнопки
Однако кнопка имеетпользовательский класс со вставками изображений, и я не знаю, как правильно анимировать изображение.
class ButtonWithImage: UIButton {
override func layoutSubviews() {
super.layoutSubviews()
if imageView != nil {
imageEdgeInsets = UIEdgeInsets(top: 5, left: (bounds.width - 35), bottom: 5, right: 5)
titleEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: (imageView?.frame.width)!)
}
}
}
Я пробовал этот код:
var image1:UIImage = UIImage(named: "img1")!
var image2:UIImage = UIImage(named: "img2")!
btn.setImage(image1, forState: UIControlState.Normal)
btn.imageView!.animationImages = [image1, image2]
btn.imageView!.animationDuration = 1.0
btn.imageView!.startAnimating()
, но он устанавливает новое изображение безimageinsets и анимация никогда не останавливается, но повторяется снова.Когда я добавляю
btn.imageView!.stopAnimating()
, анимация вообще не работает.
Есть ли лучший способ добиться желаемой анимации?