Я добавил простой UITapGestureRecognizer
в UIImageView
и создал Жест Метод, который вызывается, когда пользователь краны/прикасаетсяUIImageView
Почему UITapGestureRecognizer не работает для UIImageView?
Мой код: Метод
UITapGestureRecognizer *eagleTapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(eagleTapGestureIsCall:)];
eagleTapGesture.numberOfTapsRequired = 1;
[self.egaleImgView addGestureRecognizer:eagleTapGesture];
Жест :
- (void)eagleTapGestureIsCall:(UITapGestureRecognizer *)recognizer
{
CGPoint location = [recognizer locationInView:[recognizer.view superview]];
NSLog(@"Eagle is Tapped X - %f",location.x);
NSLog(@"Eagle is Tapped Y - %f",location.y);
}
Вот если добавить Жест на UIView
вместо self.egaleImgView
то он работает (я имею в виду метод Жест называется), но почему он не работает на self.egaleImgView
???
После того, как я понял, что может быть UIView
перехватывает касания, прежде чем они смогут достичь UIImageView
.
Поэтому я добавил следующую строку при запуске viewDidLoad
self.view.userInteractionEnabled = NO; /// Here i set userInteractionEnabled = NO;
Ниже приводится описание структуры для лучшего понимания.
main UIView
| |
(Sub view) mainBackGroungImageView //// size is similar to size of main UIView
| |
(Sub view) gestureAdded ImageView
EDITED:
К сожалению, ребята за забыв упомянуть, что я уже добавил self.egaleImgView.userInteractionEnabled = YES;
к моему ImageView, но он не работает для меня.
Просьба представить предложения по моей проблеме.
Заранее спасибо.
Включили ли вы взаимодействие с пользователем ? На самом изображении. –
По умолчанию действие пользователя отключено для изображений. – amar
Не отключайте 'userInteraction' на представлении. –