2

私はこのアニメーションをtabbarviewcontrollerの最初のviewcontrollerに持っています

- (void)viewDidAppear:(BOOL)animated
{
    [UIView animateWithDuration:4.0 delay:0.0 options:UIViewAnimationOptionRepeat | UIViewAnimationOptionCurveLinear animations:^{
        CGAffineTransform transform = CGAffineTransformMakeRotation(M_PI);
        self.rotatingImage.transform = transform;
    } completion:NULL];
}

それはうまく機能しますが、タブバーからビューコントローラーを変更して最初のビューコントローラーに戻ると、アニメーションが停止します。

同様のスレッドiOSUIViewアニメーションの問題がありますが、説明はありません

4

2 に答える 2

5

これを試してください:

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    self.rotatingImage.transform = CGAffineTransformIdentity;
    [UIView animateWithDuration:4.0 delay:0.0 options:UIViewAnimationOptionRepeat | UIViewAnimationOptionCurveLinear animations:^{
        CGAffineTransform transform = CGAffineTransformMakeRotation(M_PI);
        self.rotatingImage.transform = transform;
    } completion:NULL];
}

説明は簡単です...アニメーションコードが再び起動されている間、UIImageViewの変換はすでにアニメーションの最終的な変換と同じです。これは、UIImageView のアルファを 1.0 から 1.0 にアニメーション化するのと似ています。何も変わりません。

于 2012-04-21T01:39:17.840 に答える
1

次のコードを使用してお楽しみください...

self.animationyourImageView.transform = CGAffineTransformIdentity;

それはあなたの変換をリセットします...

願っています、これはあなたを助けるでしょう..

于 2012-04-21T01:27:47.023 に答える