UIView动画导致无法预料的崩溃

时间:2013-01-14 10:01:29

标签: ios uiviewanimation

我制作了一个在项目中使用的自定义活动指标。我为此旋转了一个静态加载器图像。

- (void) rotate {
    lastInstance++;
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDelegate:self];
    [UIView setAnimationDidStopSelector:@selector(rotate)];
    [UIView setAnimationDuration:0.1];
    [UIView setAnimationCurve:UIViewAnimationCurveLinear];
    spinnerImageView.layer.transform = CATransform3DMakeRotation(M_PI*(lastInstance%10)/5, 0.0, 0.0, 1.0);
    [UIView commitAnimations];
}

spinnerimageview包含在superview容器中,它带有静态加载器映像。它工作正常,除了不可预测地崩溃而没有任何错误消息。

1 个答案:

答案 0 :(得分:1)

看起来你陷入了永无止境的递归。你如何决定何时停止轮换?

每次旋转动画完成时,只需再次调用rotate,看似没有尽头。

您看到的崩溃可能是堆栈溢出(多么贴切)。

我建议你重新考虑如何决定动画是否可以继续。