UITapGestureRecognizer в подпредставлении UIScrollView - PullRequest
13 голосов
/ 19 марта 2011

Я пытаюсь использовать распознаватель одного касания в imageView (это также дочерний элемент scrollView). В Интерфейсном Разработчике я создал и сослался только на scrollView. Работает прокрутка, но событие одиночного касания не распознается (ничего не записывается). Вот код:

- (void)loadView {
[super loadView];

UIImage *myImage = [UIImage imageNamed:@"img1.jpg"];
imageView = [[UIImageView alloc] initWithImage:myImage];

[myImage release];

// add gesture recognizers to the image view
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];

[imageView addGestureRecognizer:singleTap];

[singleTap release];

[imageScrollView setContentSize:CGSizeMake(imageView.frame.size.width, imageView.frame.size.height)];

[imageScrollView addSubview:imageView]; }

- (void)handleSingleTap:(UIGestureRecognizer *)gestureRecognizer {
// single tap handling
NSLog(@"sinlgeTap called"); }

Я часами осматривался и много чего пробовал. Может быть, взгляд кого-то еще может помочь гораздо больше. Спасибо.

1 Ответ

31 голосов
/ 19 марта 2011

Я включил userInteraction для imageView, а также параметр canCancelContentTouches для scrollView:

[imageScrollView setCanCancelContentTouches:YES];
[imageView setUserInteractionEnabled:YES];

Теперь работает.

...