iOS 手势与点击事件冲突的解决方案

    xiaoxiao2025-11-29  11

    问题描述:

    当页面内容加载失败时展现可以点击重新加载的错误页(点击重新加载使用的是单击手势),当页面重新加载成功出现tableViewCell后,移除错误页,但点击页面仍然响应单击手势,而不是响应cell的点击效果。

    解决方案:

    1、遵守手势的协议 UIGestureRecognizerDelegate 2、实现其代理方法

    - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { // 若为UITableViewCellContentView(即点击了tableViewCell),则不截获Touch事件(只解除的是cell与手势间的冲突,cell以外仍然响应手势) if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) { return NO; } // 若为UITableView(即点击了tableView任意区域),则不截获Touch事件(完全解除tableView与手势间的冲突,cell以外也不会再响应手势) if ([touch.view isKindOfClass:[UITableView class]] { return NO; } return YES; }
    转载请注明原文地址: https://ju.6miu.com/read-1304511.html
    最新回复(0)