Вы хотите использовать базовую анимацию с помощью вызова метода UIView.
animateWithDuration:delay:options:animations:completion:
Вы можете использовать один с меньшим параметром, если вы хотите использовать стиль анимации по умолчанию.Но в основном вы указываете время в методе, а в блоке вы просто устанавливаете положение кнопки в том месте, где вы хотите, и основная анимация позаботится о деталях.
Код может выглядеть следующим образом:
-(IBAction)moveIt:(id)sender {
__block CGPoint originalPoint = self.aButton.center;
[UIView animateWithDuration:2
delay:0
options:UIViewAnimationCurveEaseInOut | UIViewAnimationOptionAutoreverse
animations:^{
self.aButton.center = CGPointMake(200, 200);
}
completion:^(BOOL finished) {
self.aButton.center = originalPoint;
}];
}
Что он делает?Этот код перемещает UIB-кнопку из исходного места в произвольную точку и обратно в исходную точку (опция UIViewAnimationOptionAutoreverse
).
Обратите внимание, что в конце необходимо сбросить UIB-кнопку на originalPoint
из-заавтореверс, если вы не выполните autoreverse
, в конце вам это не понадобится.