0

我正在开发应用程序,其中子视图四UIVIEW添加TapGestureRecognition。但选择器仅适用于第四视图。谁能告诉我我的逻辑错在哪里?TapGestureRecognition在单个uiviewcontroller中的多个uiview

这里是代码 在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

请探索我们的代码。如何添加子视图并添加手势。 –

+0

你创建一个子视图view1,然后将其添加到contentArea中,然后创建一个子视图view2,然后将其添加到contentArea中,替换旧视图1 ...明白了吗? –

+0

我没有替换view1和view 2将在内容区域彼此相邻 – user2706770

回答

0

手势识别器只能连接到一个视图。不幸的是,你不能在文档中找到它,但你可能会注意到,识别器类有一个视图属性,这是一个指向查看手势的指针。

相关问题