Я использую UIRotationGestureRecognizer
для поворота UIImageView
.Добавляя все небольшие изменения поворота к CGFloat
, я пытаюсь вычислить общее вращение UIImageView
.Это нормально, но каким-то образом свойство жеста rotation
иногда имеет очень большое значение.Обычно при медленном вращении он находится около 0,00 ##, но затем неожиданно начинает давать значения, подобные 6. ##.Конечный результат составляет в общей сложности> 300 радиан, что смешно - более 47 «оборотов» при движении пальца всего на миллиметр.это?
Вот код:
if ([gesture state] == UIGestureRecognizerStateBegan || [gesture state] == UIGestureRecognizerStateChanged)
{
totalRotation += [gesture rotation];
NSLog(@"%f", [gesture rotation]);
[gesture view].transform = CGAffineTransformRotate([[gesture view] transform], [gesture rotation]);
[gesture setRotation:0];
}
else
{
NSLog(@"rot: %f", totalRotation);
}