Мне нужно повернуть квадрат, когда пользователь делает UIRotationGesture.
У меня все жесты настроены. Проблема в том, что каждый раз, когда пользователь перемещает свои пальцы, квадрат возвращается в исходное положение, а затем анимируется в новое положение. Вместо перехода с предыдущей позиции на новую.
Т.е. если поворот квадрата составляет 90 градусов, а пользователь продолжает вращаться до 100. квадрат вернется к 0 градусам и оживит до 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"];