Жестов нажатия не распознан на uiimageview
Я добавил два uiimageview
s, один на другой subview uiview
(imageview1,imageview2
). В первом представлении верхняя часть uiimageview
скрыта (imageview2
), а во втором - нижняя imageview
скрыта (imageview1
).
Выделение жестов ленты:
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(oneTap:)];
UITapGestureRecognizer *singleTap1 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(oneTap:)];
Установите для пользователя uiimageview значение YES для пользователя.
[singleTap setNumberOfTapsRequired:1];
[singleTap1 setNumberOfTapsRequired:1];
//добавление жестов в uiimageview
Добавьте распознаватель жестов и селектор соответственно.
[imageview1 addGestureRecognizer:singleTap];
[imageview2 addGestureRecognizer:singleTap1];
Но мои краны не распознаются.
Может ли кто-нибудь сказать мне, где ошибка?
Ответы
Ответ 1
Попробуйте установить setUserInteractionEnabled:YES
перед добавлением распознавателя жестов.
[imageview1 setUserInteractionEnabled:YES]
[imageview2 setUserInteractionEnabled:YES]
[imageview1 addGestureRecognizer:singleTap];
[imageview2 addGestureRecognizer:singleTap1];
Update:
После комментария, который вы сделали, я предлагаю вам довести ваши взгляды до вершины, прежде чем обнаруживать событие крана. Поскольку родительский ImageView находится выше и ловит эти краны.
[yourparentview bringSubviewToFront:imageview1];
[yourparentview bringSubviewToFront:imageview2];
Ответ 2
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(oneTap:)];
singleTap.numberOfTapsRequired = 1;
singleTap.numberOfTouchesRequired = 1;
singleTap.delegate = self;
[imageview1 addGestureRecogniser:singleTap];
[singleTap1 release];
imageview1.userInteractionEnabled = YES; //disabled by default