微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

UITapGestureRecognizer不执行任何操作

如何解决UITapGestureRecognizer不执行任何操作

| 我有一个可以显示文本页面的应用程序,该应用程序可以点击按钮或在视图中滑动,以前进或后退各个页面。容器视图具有两个附加的UISwipeGestureRecognizer,用于向左滑动和向右滑动。这些手势没问题。但是现在我正尝试将UITapGestureRecognizer添加到另一个视图,以提供类似于iBooks或Kindle应用程序的功能,请向左轻按以返回,向右轻按。我无能为力。即使我将手势放在最上面的视图上并禁用了其他手势,也没有暗示它曾经被触发过。 尽管我不需要实现委托方法,但视图控制器实现了UIGestureRecognizerDelegate。我确实尝试实现了shouldReceivetouch:没有成功。 这是我创建并附加手势识别器的代码段:
UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGestureTurnPage:)];
[self.view addGestureRecognizer:recognizer];
[recognizer release];
    

解决方法

        在要添加手势识别器的视图上尝试以下操作:
view.userInteractionEnabled = YES;
    ,        您提到您已尝试过此操作,但以防万一,请重新尝试。 尝试在标题中使用带有2的委托,然后设置委托:
UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGestureTurnPage:)];
[self.view addGestureRecognizer:recognizer];
recognizer.delegate = self;
[recognizer release];
然后实现此方法:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer 
       shouldReceiveTouch:(UITouch *)touch {
    return YES;
}
然后使用调试器或将ѭ5扔入上述方法中,再将ѭ6扔入以查看是否调用了这些方法。     ,        在初始化手势的位置添加以下内容:
recognizer.delegate = self;
并将其添加到\“ self \”类中:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
    return YES;
}
这使我可以在UIWebView上识别手势,并且UIWebView仍会响应轻击。 (我想要的-您可能没有)     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。