1

一部のフレームの移動中に変換をアニメーション化しないようにするにはどうすればよいですか? アニメーション付きのブロックがあります:

        [UIView animateWithDuration:.2 animations:^{
            self.center = [ViewController fitPointToNet:self.center];
            [self.delegate repaint];
        }];

そして、paintInView メソッドを呼び出して再描画します。このメソッドは、図形 (線など) を描画し、それらを回転させます。アニメーションを行のように見せたいのですが、目的のポイントに移動します-今は移動して回転します。

- (void)paintInView:(UIView*)view 
{
//some drawing code   
line.transform = CGAffineTransformMakeRotation(M_PI);
//some drawing code
}

誰でも助けることができますか?

4

1 に答える 1

1

アニメーション ブロック内から repaint メソッドを呼び出しているため、ビューのアニメーション化可能なプロパティへの変更はすべてアニメーション化されます。

代わりに、アニメーションの完了ブロックからそのメソッドを呼び出す必要がありanimateWithDuration:animations:completionます。現在使用しているメソッドの代わりにメソッドを使用してください。

これにより、アニメーションが完了した後、アニメーションなしで変換が実行されます。

于 2013-03-12T18:54:02.920 に答える