Из моего понимания того, что вы делаете, похоже, что вы фактически запускаете все 5 анимаций одновременно.Когда вы выполняете анимационный блок в цикле for, цикл выполнения не выполняет итерацию между каждым циклом, и запускается только последняя анимация.
Вам нужно будет использовать вызовы завершения и «цепочку»их вместе.Итак, вы запускаете первую анимацию, затем при этом вызове завершения вы выполняете второй, затем об этом вызове третий и т. Д. Гораздо более длинный код, но это будет работать.
Было бы проще использовать блоки вВ этом сценарии весь код анимации будет находиться в одном месте, вместо того, чтобы распределять его по нескольким методам для каждой анимации.Вы просто вложите блоки, в первом блоке завершения анимации вы создадите второй, затем третий и т. Д.
Вот пример использования метода блоков.Это немного сложно читать, но вы поймете идею.Возможно, вам удастся создать отдельный анимационный блок и повторно использовать его в каждом методе завершения, но я не знаю всех преимуществ, которые можно сделать, и это гораздо легче прочитать, когда вы впервые пытаетесь понять его.
Обратите внимание, что я на самом деле не пробовал и не проверял это, но я думаю, что он будет делать то, что вы хотите.
[UIView animateWithDuration:1.0 animations:^(void) {
// Animation changes go here
// blah.alpha = 1.0
// blah.position = CGPointMake
// etc
} completion:^(BOOL finished) {
// Start next animation which will run with this one finishes
[UIView animateWithDuration:1.0 animations:^(void) {
// Animation changes go here
// blah.alpha = 1.0
// blah.position = CGPointMake
// etc
} completion:^(BOOL finished) {
// Start next animation which will run with this one finishes
[UIView animateWithDuration:1.0 animations:^(void) {
// Animation changes go here
// blah.alpha = 1.0
// blah.position = CGPointMake
// etc
} completion:^(BOOL finished) {
// Start next animation which will run with this one finishes
[UIView animateWithDuration:1.0 animations:^(void) {
// Animation changes go here
// blah.alpha = 1.0
// blah.position = CGPointMake
// etc
} completion:nil];
}];
}];
}];