Как я могу сделать движущуюся кнопку? - PullRequest
0 голосов
/ 10 декабря 2011

Сначала я хочу сделать кнопку, которая находится за пределами вида, но падает на видимый экран, когда я держу телефон вверх дном. Как я могу закодировать это? Заранее спасибо!

1 Ответ

1 голос
/ 10 декабря 2011

Вы хотите использовать базовую анимацию с помощью вызова метода 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, в конце вам это не понадобится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...