2016-06-08 3 views
0

У меня есть анимация на моем изображении. Это должно быть анимация изображения в слайд-шоу на кране. Проблема в том, что когда я нажимаю первый раз, он спрыгивает с y на 200 px, а затем оживляет до нуля. Второй раз, когда я нажимаю, анимация делает именно то, что она должна делать, и движется вверх, минус 200 пикселей.imageView анимация пошла не так

Мне совершенно не имеет смысла, что он работает во второй раз, но не в первый раз. Я пробовал установить происхождение imageView на 0,0, чтобы иметь начальную точку, поскольку я думал, что это вызывает прыжок, и странную анимацию, но такую ​​же сделку.

UIView.animateWithDuration(10.0, animations: {() -> Void in 

     self.imageView.frame = CGRectMake(self.imageView.frame.origin.x, -200, self.imageView.frame.size.width, self.imageView.frame.size.height) 
    }) 
+0

Есть ли автоопределение (NSLayoutConstraint), связанное с изображением? – kennytm

+0

Да, я добавил ограничения, чтобы сделать imageView 100% 100%. Итак, 0,0,0,0 для верхнего, левого, нижнего, правого – Imbue

ответ

1

Как указано в комментариях, у вас есть ограничение. Подключите это ограничение к вашему коду и обновите его в своей анимации. Затем запустите self.view.layoutIfNeeded()

UIView.animateWithDuration(Double(0.5), animations: { 
    self.yourConstraint.constant = //Whatever 
    self.view.layoutIfNeeded() 
}) 
+0

Спасибо, никогда не знал, что вы можете это сделать, именно то, что мне нужно. – Imbue

Смежные вопросы