-2

メソッド setAnimationDuration は私のコードには影響しません,私のアニメーションは速すぎます。ここにコードがあります

[UIView beginAnimations:nil context:nil];      
image1.frame=CGRectMake(0, 0, 0,image1.frame.size.height);
image2.frame=CGRectMake(image2.frame.size.width, 0, 0,image2.frame.size.height);
[UIView setAnimationDuration:10];
[UIView setAnimationDelegate:self];
[UIView commitAnimations];
4

2 に答える 2

6

アニメート可能なプロパティを変更する前に、継続時間の値を設定する必要があります。

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:10];
image1.frame=CGRectMake(0, 0, 0,image1.frame.size.height);
image2.frame=CGRectMake(image2.frame.size.width, 0, 0,image2.frame.size.height);
[UIView setAnimationDelegate:self];
[UIView commitAnimations];

メソッド setAnimationDuration の UIView 状態に関する Apples クラス リファレンス内の説明:

また、ビューのアニメーション化可能なプロパティを変更する前に、このメソッドを呼び出す必要があります。デフォルト値は 0.2 秒です。

そのため、非常に高速なアニメーションが得られます。

このスタイルのアニメーションは ios4 から推奨されていないため、上記が機能しない場合は、新しいアニメーション ブロック スタイルを使用してみてください。

于 2013-02-27T09:37:15.427 に答える
0

以下を使用してビューにアニメーションを追加します。

[UIView animateWithDuration:2.0 animations:^()
 {
     //Your code here
 }];

または、次のアプローチを使用します。

[UIView transitionWithView:super.view duration:1.0 options:UIViewAnimationOptionTransitionCurlUp animations:^
     {
         //your code here
     }completion:NULL
    ];
于 2013-02-27T09:35:27.637 に答える