アニメーションの設定に問題があります。最初の画像ビューではアニメーションが開始され、playsound1が呼び出されると2番目のアニメーションが開始されます。すべてうまく動作しますが、2番目のアニメーションが停止した時点でアニメーションが実行されていません。だから私がやりたいことは、2番目のアニメーションが停止した後です。最初からやり直してから2番目のアニメーションを再生するためにメソッドが呼び出されたときです。何かヒント?アクション後のUIImageViewアニメーション?
ここでそれが今であるとして、あなたは、コードの一部を見ることができます:
- (void)loadtest1 {
NSArray *imageArray = [[NSArray alloc] initWithObjects:
[UIImage imageNamed:@"test1.png"],
[UIImage imageNamed:@"test2.png"],
[UIImage imageNamed:@"test3.png"],
[UIImage imageNamed:@"test4.png"],
nil];
test1.animationImages = imageArray;
test1.animationRepeatCount = 0;
test1.animationDuration = 1;
[imageArray release];
[test1 startAnimating];
}
- (void)loadtest2 {
NSArray *imageArray = [[NSArray alloc] initWithObjects:
[UIImage imageNamed:@"test4.png"],
[UIImage imageNamed:@"test5.png"],
[UIImage imageNamed:@"test6.png"],
[UIImage imageNamed:@"test7.png"],
nil];
test2.animationImages = imageArray;
test2.animationRepeatCount = -1;
test2.animationDuration = 1;
[imageArray release];
[test2 startAnimating];
}
- (IBAction)playsound1 {
NSString *path = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"mp3"];
AVAudioPlayer* theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
theAudio.delegate = self;
[theAudio play];
test1.hidden = 0;
test2.hidden = 1;
[test1 startAnimating];
test2.center = test1.center;
}
私はこのように試してみました:[self performSelector:@selector(loadTest1)withObject:nil afterDelay:1.0]; と動作していません。私は、他の方法を試してみて、何が得られるのか見てみるべきです。どうもありがとう。 – ftwhere
NSLogステートメントを 'loadTest1'に入れて、2番目のアニメーションが終了したときに呼び出されることを確認しますか? – sergio
これで動作します。私はサウンドなしでのみ画像ビューのための別の方法を作ったし、ちょうど良い、チップのおかげで多くの動作します。 – ftwhere