このコードを使用してタイマーを作成して実行すると、問題なく動作します。
NSDate *d = [NSDate dateWithTimeIntervalSinceNow: 6.0];
NSTimer *t = [[NSTimer alloc] initWithFireDate: d
interval: 6
target: self
selector:@selector(startAnimation)
userInfo:nil repeats:YES];
NSRunLoop *runner = [NSRunLoop currentRunLoop];
[runner addTimer:t forMode: NSDefaultRunLoopMode];
私のstartAnimationメソッドには
[myUIImageView startAnimating];
メソッドは 6 秒ごとに実行されますが、アニメーションは 1 回実行され、繰り返されません。
なぜこれが起こっているのですか?
編集。私のアニメーションは次のように設定されています。
-(void) setUpAnimation{
myUIImageView = [[UIImageView alloc] initWithFrame:self.animatedView.frame];
myUIImageView.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"1.png"],
[UIImage imageNamed:@"2.png"],
[UIImage imageNamed:@"3.png"],
nil];
myUIImageView.animationDuration = 3;
myUIImageView.animationRepeatCount = 1;
//add the animation view to the main window;
[self.view addSubview:myUIImageView];
}
上で述べたように、これは一度だけうまく動作しますが、その後は繰り返されません! ありがとう :)