Как прекратить выполнение цикла FOR до завершения кода - PullRequest
0 голосов
/ 06 июня 2011

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

int i;
    for (i=0; i < 100; i++) {

        [UIView beginAnimations:nil context:NULL];
        [UIView setAnimationDuration:9];
        toast.view.frame = toastRect1;
        [UIView commitAnimations];

        [UIView beginAnimations:nil context:NULL];
        [UIView setAnimationDuration:9];
        toast.view.frame = toastRect2;
        [UIView commitAnimations];

        [UIView beginAnimations:nil context:NULL];
        [UIView setAnimationDuration:9];
        toast.view.frame = toastRect;
        [UIView commitAnimations];
        NSLog(@"%d",i);

    }

}

Ответы [ 2 ]

3 голосов
/ 06 июня 2011

Я думаю, вам нужно использовать + (void)setAnimationDidStopSelector:(SEL)selector.Если хотите, посмотрите на http://developer.apple.com/library/ios/#documentation/uikit/reference/uiview_class/uiview/uiview.html.

1 голос
/ 06 июня 2011

Вы можете использовать метод setAnimationDidStopSelector для цепочки анимаций.Проверьте документы для деталей: http://developer.apple.com/library/ios/#documentation/uikit/reference/uiview_class/uiview/uiview.html%23//apple_ref/occ/clm/UIView/setAnimationDidStopSelector:

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