CAKeyFrameAnimation で奇妙な問題に直面しています。
コードは次のとおりです。
//Inside the selector method of the button
CAKeyframeAnimation *anim = [CAKeyframeAnimation animationWithKeyPath:@"position"];
[anim setDelegate:self];
anim.path = racetrack.path;
anim.rotationMode = kCAAnimationRotateAuto;
anim.repeatCount = 0;
anim.duration = 10.0;
[carBtn.layer addAnimation:anim forKey:@"race"];
アニメーションは正常に動作します。この問題は、carBtn (車の背景イメージを持つボタン) が押されたときに発生します。ボタンの画像が理由もなく 180° 回転します (少なくとも私にとっては理由はありません)。アニメーションの作成後、このコード行でボタンを自分で回転させる必要があります
carBtn.transform = CGAffineTransformMakeRotation(M_PI);
...しかし、1 ~ 2 秒間 (アニメーションが開始する前)、車は最初の位置と反対を向いています。ボタンは次のように作成されます。
UIImage* car = [UIImage imageNamed:@"car_image"];
carBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[carBtn setFrame:CGRectMake(startPoint.x-45, startPoint.y-33, macchina.size.width, macchina.size.height)];
[carBtn setBackgroundImage:car forState:UIControlStateNormal];
[carBtn setBackgroundImage:car forState:UIControlStateHighlighted];
[carBtn addTarget:self action:@selector(carPressed) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:carBtn];
これはどのように可能でしょうか?ありがとう