2013-10-07 2 views
25

Я добавил два uiimageview s, один на другой subview uiview (imageview1,imageview2). На первом виде верхняя часть uiimageview скрыта (imageview2), а на втором - внизу imageview (imageview1).жгут жест не признан на uiimageview

Выделяя крана жест:

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]; 

Но мои краны не распознаются.

Может ли кто-нибудь сказать мне, где ошибка?

+0

дайте мне знать, если вы решили вашу проблему. –

+0

В соответствии с моим кодом его ворчащий штраф в ландшафте, но не wrking в портрете – user2706770

ответ

98

Попробуйте установить setUserInteractionEnabled:YES перед добавлением распознавателя жестов.

[imageview1 setUserInteractionEnabled:YES] 
[imageview2 setUserInteractionEnabled:YES] 

[imageview1 addGestureRecognizer:singleTap]; 
[imageview2 addGestureRecognizer:singleTap1]; 

Update:

После комментария вы сделали, я предлагаю вам взять с собой вид на вершине перед обнаружением события крана. Поскольку родительский ImageView находится выше и ловит эти краны.

[yourparentview bringSubviewToFront:imageview1]; 
[yourparentview bringSubviewToFront:imageview2]; 
+0

ya я сделал только это только – user2706770

+0

у меня есть 10 imageview все работает отлично, кроме uiimageview, в котором один просмотр изображения помещается над другим видом изображения – user2706770

+0

см. Мой обновленный вопрос –

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 
+0

Жест жестокости работает отлично, когда два изображения отображаются в другом месте. проблема заключается в том, что два изображения находятся в одном месте. скрытый в первый раз, затем скрытый второй во второй раз – user2706770

+0

Итак, вы хотите переключить видимость imageViews на пользовательский кран в том же месте? – n00bProgrammer

Смежные вопросы