- (void)createCar
{
_car = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 40, 10)];
[_car setBackgroundColor:[UIColor redColor]];
[self addSubview:_car];
_myTimer = [NSTimer scheduledTimerWithTimeInterval:normalSpeedValue target:self selector:@selector(moveCar) userInfo:nil repeats:YES];
}
- (void)moveCar
{
static int move = 0;
move = move+1;
[_car setFrame:(CGRectMake(move, 0, 40, 10))];
}
これはビューを作成し、アニメーションを左から右に動かす方法です。複数のNSTimerアニメーションビュー
"createCar"メソッドをもう一度呼び出すと、新しいビューが作成されますが、アニメーション化されません。何故ですか?
もっと多くのビューを作成してアニメーション化できるようにしたい(moveCar)。タイマー、moveCar
上のコールバックは、唯一_car
IVARに保存されている最も最近作成した車への参照を持っているので、
[あなたの前の1つを更新するのではなく、新しい質問を投稿したのはなぜですか(http://stackoverflow.com/questions/36961009/multiple-instances-of-the-same-view-with -different-timer)? – rmaddy
あなたの 'normalSpeedValue'は何に設定されていますか? – hola
@hola normalSpeedValue = 0.01 – Joe