Ios 如何知道是否已将UITapGestureRecognizer添加到子视图
我正在添加子视图。对于每个子视图,我将添加一个手势识别器:Ios 如何知道是否已将UITapGestureRecognizer添加到子视图,ios,xcode,uiscrollview,uitapgesturerecognizer,Ios,Xcode,Uiscrollview,Uitapgesturerecognizer,我正在添加子视图。对于每个子视图,我将添加一个手势识别器: UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; imageView.frame = CGRectMake((position*1024)+200,0,image.size.width,image.size.height); UITapGestureRecognizer *singleFingerTap = [[UITapGesture
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];
但是点击没有响应如何验证手势是否已被添加到子视图?在代码后添加此项:
NSLog(@"imageView.gestureRecognizers: %@", [imageView.gestureRecognizers description]);
如果您正确添加了手势识别器,它会将每个手势识别器的描述打印到控制台。如果不是,它将在控制台中显示(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:(UIGestureRecognitor*)sender