UIRotationGestureRecognizer изменяется с помощью CGAffineTransformMakeScale
Представление переворачивается, используя это:
self.transform = CGAffineTransformMakeScale(-1, 1); // self is an UIView
Чтобы повернуть это представление:
-(void)handleRotate:(UIRotationGestureRecognizer *)recognizer
{
recognizer.view.transform = CGAffineTransformRotate(recognizer.view.transform, recognizer.rotation);
recognizer.rotation = 0;
}
Проблема в том, что после переворачивания вида меняется и направление вращения. Любое решение, как это исправить?
Редактировать: мое текущее решение использует логическое значение и отрицание значения распознавателя.ротации в методе handleRotate. Но я все еще ищу техническое решение.
1 ответ
Решение
Ты пробовал self.transform.a * recognizer.rotation
?
Если я правильно понимаю AffineTransform, X масштабирование хранится в a
,
Ссылка CGAffineTransform Искать CGAffineTransformMakeScale
а также CGAffineTransformMake