ユーザーがUIRotationGestureを実行するときに、正方形を回転させる必要があります。CALayer変換
私はジェスチャーをすべてセットアップしました。問題は、ユーザーが指を動かすたびに正方形が開始位置に戻り、次に新しい位置にアニメートすることです。以前の位置から新しい位置に移動するのではなく、
すなわち、正方形の回転は90度であり、ユーザーが正方形に戻っ0度に行くと100
にアニメーション化します100に回転し続け、基本的に私は、正方形のときに、ユーザーをミラーする場合それらは回転ジェスチャーを実行する。
- (void)respondToGesture:(UIRotationGestureRecognizer *)rec{
NSLog(@"Rotation: %f", rec.rotation);
[self rotateWithRadian:rec.rotation];
if (rec.state == UIGestureRecognizerStateEnded) {
NSLog(@"gesture ended");
}
}
- (void)rotateWithRadian:(float)radian{
CABasicAnimation *spin = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
spin.removedOnCompletion = NO;
spin.fillMode = kCAFillModeForwards;
[spin setByValue:[NSNumber numberWithFloat:radian]];
[spin setDuration:1.0];
[squarelayer addAnimation:spin forKey:@"spinAnimation"];
Spot on Works完璧な乾杯! – geminiCoder