iOS: проблемы с UIGestureRecognisers против подпредставлений - PullRequest
2 голосов
/ 03 апреля 2012

Я написал следующий код, чтобы прикрепить распознаватель жестов к нескольким изображениям.

[imageview1 setUserInteractionEnabled:YES];
[imageview1 setMultipleTouchEnabled:YES];

[imageview2 setUserInteractionEnabled:YES];
[imageview2 setMultipleTouchEnabled:YES];

[imageview3 setUserInteractionEnabled:YES];
[imageview3 setMultipleTouchEnabled:YES];

[imageview4 setUserInteractionEnabled:YES];
[imageview4 setMultipleTouchEnabled:YES];

[imageview5 setUserInteractionEnabled:YES];
[imageview5 setMultipleTouchEnabled:YES];

[imageview6 setUserInteractionEnabled:YES];
[imageview6 setMultipleTouchEnabled:YES];

UILongPressGestureRecognizer *gestureRecognizer = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(gestureHandler:)];
gestureRecognizer.delegate = self;
[imageview1 addGestureRecognizer:gestureRecognizer];
[imageview2 addGestureRecognizer:gestureRecognizer];
[imageview3 addGestureRecognizer:gestureRecognizer];
[imageview4 addGestureRecognizer:gestureRecognizer];
[imageview5 addGestureRecognizer:gestureRecognizer];
[imageview6 addGestureRecognizer:gestureRecognizer];

Я заметил две проблемы!

  1. Все изображения не имеют распознавателя жестов! Только один imageview6 (последний прикрепленный) имеет распознаватель жестов. Это то, что яблоко не позволяет?

  2. У меня есть все эти изображения в подпредставлении родительского представления. Когда я добавляю их непосредственно в родительское представление (self.view), оно работает, но проблема № 1 остается. Когда у меня есть эти изображения в подпредставлении (self.view.mysubview), ни один из них не распознает жесты!

Может, кто-нибудь подскажет, пожалуйста, как решить эти проблемы?

Спасибо.

1 Ответ

6 голосов
/ 03 апреля 2012

UIGestureRecognizer с могут быть привязаны только к одному представлению за раз.Вам нужно будет создать отдельный для каждого вида изображения.

...