Анимировать кнопку влево и вправо с 20 пикселей - PullRequest
0 голосов
/ 05 июля 2018

Я хочу, чтобы моя кнопка была перемещена на 20 пикселей влево, и я хочу ее через 0,25 секунды вернуться в исходное положение. Это то, что я получил до сих пор:

@IBOutlet weak var Like: UIButton!

UIView.animate(withDuration: 0.25,
                       animations: {
                        var likeframe = self.Like.frame
                        likeframe.origin.x -= 20
        },
                       completion: { _ in
                        UIView.animate(withDuration: 0.25) {
                            var likeframe = self.Like.frame
                            likeframe.origin.x += 20

        }
})

Пожалуйста, помогите!

Ответы [ 2 ]

0 голосов
/ 05 июля 2018

Изменить кадр и использовать функцию задержки для задержки анимации

UIView.animate(withDuration: 0.25,
               animations: {
                Like.frame.origin.x -= 20

},
               completion: { _ in
                UIView.animate(withDuration: 0.25, delay: 0.25, options: [], animations: {
                    Like.frame.origin.x += 20
                }, completion: nil)
})
0 голосов
/ 05 июля 2018

Вам нужно изменить саму рамку

UIView.animate(withDuration: 0.25,animations: {
          self.Like.frame =  self.Like.frame.offsetBy(dx:-20,dy:0)

        }) { _ in

           UIView.animate(withDuration: 0.25 , animations: {
            self.Like.frame =  self.Like.frame.offsetBy(dx:20,dy:0)

           })
}
...