Почему touchesBegan перестает работать, когда UIImageView находится внутри UIScrollView? - PullRequest
4 голосов
/ 31 декабря 2010
UIView -> UIImageView

Я знаю, что у меня все в порядке, так как я могу нажать на UIImageView и увидеть выражение NSLog() в моем методе touchesBegan.

.

UIView -> UIScrollView -> UIImageView

Я перетаскиваю тот же UIImageView в UIScrollView, и touchesBegan больше не вызывается, когда я нажимаю на UIImageView. (Я ничего не изменил. Все те же соединения, методы и код остаются без изменений.)

Почему touchesBegan больше не работает? И что я могу сделать, чтобы это снова заработало?

Ответы [ 3 ]

4 голосов
/ 06 января 2011

Добавьте uitapgesture для получения события

Код:

  UITapGestureRecognizer *ges11=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(Handeltap:)];
  [imagename addGestureRecognizer:ges11];

Создайте одно имя действия "Handeltap" U будет вызываться там.

4 голосов
/ 06 января 2011

по умолчанию UIImageView не обрабатывает жесты пользователя.установите UIImageView экземпляра userInteractionEnabled на ДА

2 голосов
/ 31 декабря 2010

Ознакомьтесь с документацией для UIScrollView.

Поскольку представление прокрутки не имеет полос прокрутки, оно должно знать, сигнализирует ли касание о намерении прокрутки, а не о намерении отслеживать подпредставление всодержание.Чтобы сделать это определение, он временно перехватывает событие касания, запуская таймер и, прежде чем таймер сработает, наблюдает, делает ли касающийся палец какое-либо движение.Если таймер срабатывает без значительного изменения положения, представление прокрутки отправляет события отслеживания в затронутое подпредставление представления содержимого.Если пользователь затем тянет свой палец достаточно далеко до того, как истечет таймер, представление прокрутки отменяет любое отслеживание в подпредставлении и выполняет саму прокрутку.Подклассы могут переопределять методы touchesShouldBegin:withEvent:inContentView:, pagingEnabled и touchesShouldCancelInContentView: (которые вызываются представлением прокрутки), чтобы влиять на то, как представление прокрутки обрабатывает жесты прокрутки.

Я также рекомендуючтение Руководство по программированию с прокруткой .

...