0

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

- (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一个超级视图容器中,它带有静态加载器图像。它工作正常,除了在没有任何错误消息的情况下意外崩溃。

4

1 回答 1

1

看起来你陷入了一个永无止境的递归。你如何决定何时停止旋转?

每次旋转动画完成时,它都会rotate再次调用,似乎看不到尽头。

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

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

于 2013-01-14T10:07:53.530 回答