Вперед прикосновения к UIScrollView
У меня есть два вида контроллеров. Вид контроллера А имеетUIScrollView
и представляет контроллер представления B. Презентация является интерактивной и контролируетсяscrollView.contentOffset
.
Я хочу интегрировать интерактивный переход отклонения: при панорамировании ViewController B должен быть отключен в интерактивном режиме. Интерактивный переход отклонения должен также контролировать ViewController scrollView.
Моей первой попыткой было использованиеUIPanGestureRecognizer
и настройкаscrollView.contentOffset
в зависимости от расстояния панорамирования. Это работает, однако, когда жест панорамирования закончен, смещение scrollView должно быть анимировано до конечной позиции. С помощью-[UIScrollView setContentOffset:animated:
не является хорошим решением, так как он использует линейную анимацию, не учитывает текущую скорость панорамирования и не замедляется.
Поэтому я подумал, что должна быть возможность передавать события касания из моего распознавателя жестов панорамирования в представление прокрутки. Это должно дать нам всем хорошее поведение анимации при просмотре прокрутки.
Я пытался переопределить-touchesBegan/Moved/Ended/Cancelled withEvent:
методы в моемUIPanGestureRecognizer
подкласс, как это:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[scrollView touchesBegan:touches withEvent:event];
[scrollView.panGestureRecognizer touchesBegan:touches withEvent:event];
[super touchesBegan:touches withEvent:event];
}
Но, видимо, что-то блокирует представление прокрутки от входаtracking
Режим. (Это идет кdragging = YES
но это все.) Я проверил scrollViewuserInteractionEnabled
, не скрывается и добавляется в иерархию представлений.
Так как я могу переслать мои сенсорные события вUIScrollView
?