我想在循环中串联中执行多个animations
。每个animation
执行" UI动画"首先是"完成块"。我的问题是如何在循环中添加几个这样的animations
系列,以便执行顺序如下:conditon->" UI动画1" - > "完成块1" - >条件 - > " UI动画2" - > "完成块2" - > ...-> condition->" UI动画n" - > "完成块n"。
while(condition){
[UIView animateWithDuration:0.3 animations:^{
//UI animation
CGRect frame = sourceView.frame;
frame.origin = destPosition;
view.frame = frame;
} completion:^(BOOL finished) {
//completion block
self.currentBoard = destBoard;
}];
}
抱歉,我可能不会清楚地提出我的问题。我已经更新了上面的问题,添加了一会儿循环。 问题是我发现下一个条件测试是在上一个动画的完成块之前执行的
答案 0 :(得分:0)
您需要在完成块N-1中启动UI动画N.
[UIView animateWithDuration:0.3 animations:^{
// UI Animation 1
} completion:^(BOOL finished) {
// Handle the completion of UI Animation 1
// Start the next animation
[UIView animateWithDuration:0.3 animations:^{
// UI Animation 2
} completion:^(BOOL finished) {
// Completion block of animation 2
}
}