0

私はこのコードを使用しました:

[[self.view viewWithTag:100] setTransform:CGAffineTransformMakeScale(0.009, 0.009)];
UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
[UIView setAnimationRepeatAutoreverses:NO];
[UIView setAnimationRepeatCount:0];
[[self.view viewWithTag:100] setTransform:CGAffineTransformMakeScale(1, 1)];
[UIView commitAnimations];

私のviewWillAppearポップアップビューの。コードはシミュレーターで正常に動作し、ビューが中心から大きくなるように見える素晴らしい効果を生み出しますが、デバイスではアニメーション効果がなく、0.5 のスリープのようになり、突然ビューが表示されます。

このビューは自由に使用されるため、期間を延長したくありません。

4

1 に答える 1

0

実際、コード サンプルはと で機能します。時間とアニメーションを増やしても、ここでは問題なく動作しますviewDidLoadviewWillAppearこの方法を使用する理由 Apple は、ビュー アニメーションを実行するためのブロックを使用した、より優れた新しい手法を提供しています。

これを試して

[[self.view viewWithTag:100] setTransform:CGAffineTransformMakeScale(0.009, 0.009)];
    [UIView animateWithDuration:10.5 animations:^{
        [[self.view viewWithTag:100] setTransform:CGAffineTransformMakeScale(1, 1)];
    }];
于 2013-01-28T06:46:32.080 に答える