У меня есть пользовательский UIView
как подзаголовок в UIScrollView
.Простой жест щепотки от пользовательского UIView к родительскому UIScrollView
Когда selected
, пользователь может изменить размер подсмотра, зажав его в любом месте экрана (суб-вид довольно мал).
Когда deselected
, я хотел бы, чтобы этот жест щепотка был передан в UIScrollView, чтобы он мог обрабатывать его, как обычно.
Вот что я пытаюсь.
- (IBAction)pinchInView:(UIPinchGestureRecognizer *)sender {
if (self.item.isSelected)
{
if ((sender.state == UIGestureRecognizerStateChanged) || (sender.state == UIGestureRecognizerStateEnded))
{
[self.item resizeWithScaleFactor:sender.scale];
}
} else
{
[self.scrollView setZoomScale:self.scrollView.zoomScale *= sender.scale];
}
sender.scale = 1;
}
В то время как это действительно работает, это выглядит неудобно.
Есть ли способ разрешить UIScrollView обрабатывать свои собственные масштабирование?
Я в значительной степени использую тот же подход, что и жесты панорамирования.
Если есть какой-либо способ сделать это менее неудобным, я очень благодарен за вашу помощь.
Просто чтобы быть более безопасным, я бы также сохранить 'UIPinchGestureRecognizer' в переменной экземпляра этого класса и убедитесь, что' UIGestureRecognizer' входящий в 'gestureRecognizer: shouldReceiveTouch:' это наш распознаватель жестов. Но в целом я поддерживаю этот ответ. – czechboy