我添加了程序化的子视图.对于每个子视图,我正在添加一个手势重新识别器:
UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; imageView.frame = CGRectMake((position*1024)+200,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]);
如果您已正确添加了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; }