Я хотел бы обработать поворотный жест в моем приложении для iPhone и повернуть изображение в это время. В конце жеста я хотел бы повернуть в фиксированное положение imageView.
Итак, т.е. если я поворачиваю изображениеView от 0 радиан до M_PI/2 радианов, но где-то на полпути я заканчиваю жестом. После окончания я хотел бы проверить угол и, если он близок к M_PI/2, тогда установите его в M_PI/2 в противном случае на 0.
Вот мой код, как я пытался это сделать:
Я создаю и добавляю распознаватель в свое представление.
UIGestureRecognizer *recognizer = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(gestureRecognized:)];
recognizer.delegate = self;
[self addGestureRecognizer:recognizer];
[recognizer release];
Методы делегата:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
if (_imageView) {
return YES;
}
return NO;
}
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
return YES;
}
Метод распознанного жеста:
- (void)gestureRecognized:(UIRotationGestureRecognizer *)recognizer {
_imageView.transform = CGAffineTransformMakeRotation(recognizer.rotation);
}
Эти методы работают, но здесь метод, как я пытался получить конец жестов. Это не работает:
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"gesture end");
}
Также с преобразованием у меня небольшая проблема. Иногда он возвращается к 0 радиану.
Любое предложение приветствуется. Спасибо!