objective-c - 如何在代码完成之前停止执行 FOR 循环

标签 objective-c ios animation for-loop

我做了这个东西。除了向我自己证明之外,它没有其他目的。本质上,我正在循环移动我在屏幕周围创建的 View 。问题是它不会等到完成一个动画后才开始另一个动画,因此 View 会绕过前两个并在 for 循环完成后在最后一个 toastRect 结束,并且在那之后它不会继续移动。如何强制代码完成每个动画,然后再继续下一个动画?

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);

    }

}

最佳答案

我认为您需要使用 + (void)setAnimationDidStopSelector:(SEL)selector。仔细看看http://developer.apple.com/library/ios/#documentation/uikit/reference/uiview_class/uiview/uiview.html如果你愿意的话。

关于objective-c - 如何在代码完成之前停止执行 FOR 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6246236/

相关文章:

iOS 7 UINavigationController 推送动画阴影

iphone - 防止 UITableViewCell 的 UIImageView 调整异步加载的 UIImage 的大小

ios - 修复了 UIPageViewController 的背景滚动效果

animation - 如何以编程方式在 Godot 中加载动画,将动画与骨架/骨架分开?

ios - 要知道哪个 UILongPressGestureRecognizer 被触发

ios - 如何让我的应用程序显示为发送屏幕截图的选项?

android - 如何正确创建自定义动画可绘制对象?

iphone - 一次向多个对象发送消息(objective-c)

objective-c - 带有分页的全屏 UICollectionView 内的 UIWebView

ios - 删除后重用的UITableViewCell格式