Как анимировать изображение кнопок с изображениями? - PullRequest
0 голосов
/ 16 февраля 2019

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

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() 

, анимация вообще не работает.

Есть ли лучший способ добиться желаемой анимации?

...