0

Я разрабатываю приложение, в котором subview четыре UIVIEW, добавив TapGestureRecognition. но селектор работает только для четвертого просмотра. Может ли кто-нибудь сказать мне, где моя логика неправильная.TapGestureRecognition on multiple uiview in single uiviewcontroller

вот код В viewdidload Я создаю четыре вида динамически.

Where imageframe and contentarea is Uiview: 
contentarea addsubview imageframe. 
self.view addsubview contentarea 

rect =CGRectMake(0,0 , 160, 230); 
     view1 = [[UIView alloc]initWithFrame:rect]; 
     view1.backgroundColor=[UIColor greenColor]; 
     view1.tag=viewtag; 
     [view1.layer setBorderColor: [[UIColor darkGrayColor] CGColor]]; 
     [view1.layer setBorderWidth: 0.5]; 
     [self.imageFrame addSubview:view1]; 

     rect =CGRectMake(161,0, 159, 230); 
     view2 = [[UIView alloc]initWithFrame:rect]; 
     view2.tag=viewtag+1; 
     view2.backgroundColor=[UIColor blueColor]; 
     [view2.layer setBorderColor: [[UIColor darkGrayColor] CGColor]]; 
     [view2.layer setBorderWidth: 0.5]; 
     [self.imageFrame addSubview:view2]; 

     rect =CGRectMake(0,231 , 160, 230); 
     view3 = [[UIView alloc]initWithFrame:rect]; 
     view3.tag=viewtag+2; 
     view3.backgroundColor=[UIColor redColor]; 
     [view3.layer setBorderColor: [[UIColor darkGrayColor] CGColor]]; 
     [view3.layer setBorderWidth: 0.5]; 
     [self.contentArea addSubview:view3]; 

     rect =CGRectMake(161,231 , 169, 230); 
     view4 = [[UIView alloc]initWithFrame:rect]; 
     view4.tag=viewtag+3; 
     view4.backgroundColor=[UIColor redColor]; 
     [view4.layer setBorderColor: [[UIColor darkGrayColor] CGColor]]; 
     [view4.layer setBorderWidth: 0.5]; 
     [self.contentArea addSubview:view4]; 


    UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(oneTap:)]; 

     [singleTap setNumberOfTapsRequired:1]; 
     [singleTap setNumberOfTouchesRequired:1]; 
     [view1 addGestureRecognizer:singleTap]; 
     [view2 addGestureRecognizer:singleTap]; 

     [view3 addGestureRecognizer:singleTap]; 

     [view4 addGestureRecognizer:singleTap]; 
+1

Pls изучить код ур. как у добавить subviews и добавить жест обоих. –

+0

Вы создаете subView say view1, а затем добавляете его в contentArea ... тогда вы создаете представление subview2, а затем добавляете его в contentArea, заменяя более старый view1 ... получил его? –

+0

я не заменил оба вида1, а вид 2 будет находиться в области содержимого рядом друг с другом – user2706770

ответ

0

Жесты распознаватели могут быть прикреплены только к одному виду. К сожалению, вы не можете найти это в документации, но вы можете заметить, что класс распознавателя имеет свойство view, к которому привязан указатель для просмотра жест.

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

  • Нет связанных вопросов^_^