首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >动画在完成后继续进行。

动画在完成后继续进行。
EN

Stack Overflow用户
提问于 2014-06-05 07:55:11
回答 1查看 34关注 0票数 0

我正在移动一些瓷砖(UIlabels真的)与动画。这工作,但我也希望瓷砖回到原来的位置上动画完成。我在这方面得到了非常不同的结果。有时效果很好,但当局似乎对他们的立场进行了重新调整。下面是我的代码示例。

代码语言:javascript
运行
复制
        [UIView animateWithDuration:animationLength animations:^{
            for (int c = 0; c<tilesToMove.count; c++) {
                animationMoving = true;
                NSInteger fromTile = [tilesToMove[c][0] integerValue];
                NSInteger toTile = [tilesToMove[c][1] integerValue];
                UILabel *toTile = (UILabel *)[self.view viewWithTag:toTile];
                UILabel *fromLabel = (UILabel *)[self.view viewWithTag:fromTile];
                fromLabel.frame = CGRectMake(toTile.frame.origin.x, toTile.frame.origin.y, fromLabel.frame.size.width,fromLabel.frame.size.height);
            }

    }
                     completion:^(BOOL finished){
                         if (finished) {
                             for (int c = 0; c<tilesToMove.count; c++) {
                                 NSInteger fromTile = [tilesToMove[c][0] integerValue];
                                 NSInteger toTile = [tilesToMove[c][1] integerValue];
                                 UILabel *button = (UILabel *)[self.view viewWithTag:fromTile+100000];
                                 UILabel *fromLabel = (UILabel *)[self.view viewWithTag:fromTile];
                                 fromLabel.frame = CGRectMake(button.frame.origin.x, button.frame.origin.y, fromLabel.frame.size.width,fromLabel.frame.size.height);

                             }
                              [self animateMoveCompleted:moveDirection];

                         }


                     }];

它查找我想在一个名为tilesToMove的数组中移动的每个瓷砖的标记。这也包含了我希望第一个瓷砖移动到的标签(动画到相同的位置)。完成后,我希望它重置到原来的位置。这总是有效的,但有时,它会激活过渡。这不是我的本意。我只想动画的第一步(这是按预期的工作),而不是重置的位置(做重置到正确的位置,但动画)。

动画的完成是否有动画效果?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-05 08:00:35

“动画的完成”--完成块没有做任何事情。

这是一个代码块,将在动画完成后执行。

如果该块中的代码启动另一个动画,那么是的,它将动画化。

因为您已经调用了一个名为animate...的方法,所以这就是问题所在。您需要运行一个没有动画属性的方法。如果你不想给它们动画的话,它应该只设置它们。

提示

或者,如果你不想让timeDuration动画化,你可以使用它的0。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24054638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档