如何知道 UITapGestureRecognizer 是不是已添加到子视图
Posted
技术标签:
【中文标题】如何知道 UITapGestureRecognizer 是不是已添加到子视图【英文标题】:how to know if UITapGestureRecognizer has been add to subview如何知道 UITapGestureRecognizer 是否已添加到子视图 【发布时间】:2012-09-21 21:14:11 【问题描述】:我以编程方式添加子视图。对于每个子视图,我添加了一个手势识别器:
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
imageView.frame = CGRectMake((position*1024)+200,0,image.size.width,image.size.height);
UITapGestureRecognizer *singleFingerTap = [[UITapGestureRecognizer alloc]
initWithTarget:self action:@selector(singleFingerTap:)];
singleFingerTap.numberOfTapsRequired = 1;
[imageView addGestureRecognizer:singleFingerTap];
[singleFingerTap release];
但是点击没有响应如何验证手势已添加到子视图中?
【问题讨论】:
【参考方案1】:在您的代码后添加:
NSLog(@"imageView.gestureRecognizers: %@", [imageView.gestureRecognizers description]);
如果您正确添加了gestureRecognizers,它会将每个人的描述打印到控制台。如果不是,它将在控制台中显示 (NULL) 或空数组。
您还可以设置手势识别器委托:
[singleFingerTap setDelegate:self];
然后添加委托方法并设置断点以确保它被调用:
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
NSLog(@"gestureRecognizerShouldBegin: called");
return YES;
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
NSLog(@"shouldReceiveTouch: called");
return YES;
【讨论】:
如果我想获取视图水龙头的属性。如何实现这个方法:-(void)viewTap:(UIGestureRecognizer *)sender以上是关于如何知道 UITapGestureRecognizer 是不是已添加到子视图的主要内容,如果未能解决你的问题,请参考以下文章
我是不是需要知道如何手动创建数据结构以获得入门级工作,或者我应该只知道如何使用收集框架中的数据结构? [关闭]