0

ユーザーがドラッグできるオブジェクトと、アニメーションを開始するいくつかのボタンを含むビューがあります。ボタンに触れるとアニメーションが開始されますが、すべてのオブジェクトが開始位置に戻ります..なぜですか?

NSMutableArray *arrayAntaChiusura1 = [NSMutableArray array];

for(int i = 0; i <= 5; i++)
{
    [arrayAntaChiusura1 addObject:[UIImage imageWithContentsOfFile:
                                   [[NSBundle mainBundle]
                                    pathForResource: [NSString stringWithFormat:@"anta_sx%d", 6-i]
                                    ofType:@"png"]]];
}

UIImageView *immagineAntaChiusura1;

immagineAntaChiusura1 = [[UIImageView alloc] initWithFrame:CGRectMake(283, 82, 120, 130)];

immagineAntaChiusura1.animationImages = arrayAntaChiusura1;
immagineAntaChiusura1.animationDuration = tempo_ante;
immagineAntaChiusura1.animationRepeatCount = 1;
[immagineAntaChiusura1 startAnimating];
[self.view addSubview:immagineAntaChiusura1]; // i think this line is the problem

あなたの助けを前もってありがとう、私は一人でこれから抜け出すことはできません!

4

2 に答える 2

0

画像でアニメーションを行う場合、それらの画像を配列にスマートに追加する必要があります。あなたのコードは問題ないようです。私が疑問を持っているのは次の1行だけです:

[arrayAntaChiusura1 addObject:[UIImage imageWithContentsOfFile:
                               [[NSBundle mainBundle]
                                pathForResource: [NSString stringWithFormat:@"anta_sx%d", 6-i]
                                ofType:@"png"]]];

他は問題ありません。画像が順番通りに並べられているかどうかを確認するだけです。

于 2013-06-05T04:36:20.140 に答える
0

私はあなたの問題を完全には理解していませんでしたが、オブジェクトを連続的にアニメーション化する場合は、以下に示すように繰り返し回数を -1 に設定します。これは無限に等しいです:-

UIImageView *immagineAntaChiusura1;

immagineAntaChiusura1 = [[UIImageView alloc] initWithFrame:CGRectMake(283, 82, 120, 130)];

immagineAntaChiusura1.animationImages = arrayAntaChiusura1;
immagineAntaChiusura1.animationDuration = 1.5;
immagineAntaChiusura1.animationRepeatCount = -1;
[immagineAntaChiusura1 startAnimating];
[self.view addSubview:immagineAntaChiusura1];
于 2013-06-05T04:36:26.647 に答える