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 に答える