Масштабирование UIScrollView под UIView, который получает касания

Есть два взгляда.

Первый – это UIScrollView, куда помещается представление для масштабирования.
Второй – это UIView, который может обрабатывать касания.

К обоим представлениям привязаны распознаватели жестов.

Проблема в том, что даже все распознаватели жестов отключены, вид прокрутки не будет увеличиваться, пока я полностью не удалю вид выше (или не установлю его userInteractionEnabled = NO). Итак, как я могу передать касания для просмотра прокрутки и не потерять другие распознаватели?


person efpies    schedule 07.04.2013    source источник


Ответы (1)


Я бы просто добавил распознаватели жестов прокрутки в это пользовательское представление.

@implementation CustomView

- (void)overridePinchForScroll:(UIScrollView *)scroll
{
    [self addGestureRecognizer:scroll.panGestureRecognizer];
    [self addGestureRecognizer:scroll.pinchGestureRecognizer];
}

@end

Note. Вам следует добавить распознаватели движений панорамирования и сжатия, потому что, если вы добавите только распознаватель щипков, это вызовет ошибку:

Ignoring call to [UIPanGestureRecognizer setTranslation:inView:] since gesture recognizer is not active.

И, конечно же, вы по-прежнему сможете перетаскивать увеличенный контент.

person efpies    schedule 07.04.2013