ios – 如何知道UITapGestureRecognizer是否已添加到子视图中

前端之家收集整理的这篇文章主要介绍了ios – 如何知道UITapGestureRecognizer是否已添加到子视图中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
添加了程序化的子视图.对于每个子视图,我正在添加一个手势重新识别器:

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;
}

猜你在找的Xcode相关文章