UIView animateWithDuration ожидает завершения анимации - PullRequest
5 голосов
/ 04 марта 2012

Я запускаю анимацию после нажатия кнопки.Если пользователь коснется кнопки до завершения текущей анимации, я хочу, чтобы новая анимация ожидала завершения текущей анимации.Как я могу это сделать?

Ответы [ 2 ]

11 голосов
/ 04 марта 2012

Вложите его с помощью варианта завершения оболочки UIView animateWithDuration следующим образом:

[UIView animateWithDuration:1.00 animations:^{
    //animate first!
    } 
                     completion:^(BOOL finished) {
                         [UIView animateWithDuration:1.00 animations:^{
                         //animate the second time.
                         }];
    }];

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

[UIView animateWithDuration:1.00 
                          delay:0.00 
                        options:UIViewAnimationOptionBeginFromCurrentState 
                     animations:^{
                         //animate
                     } 
                     completion:^(BOOL finished){

    }];
0 голосов
/ 04 марта 2012

Я всегда цепляю свою анимацию так:

[self performSelector:@selector(animationDone) withObject:nil afterDelay:1.0];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...