美文网首页
swift手势和UIView冲突解决

swift手势和UIView冲突解决

作者: 帅气的昵称啊点 | 来源:发表于2018-07-24 07:17 被阅读145次

问题:UItableview和tap手势会产生冲突

(tap手势覆盖区有两个view,一个view需要响应tap,一个需要view自己处理,

由于view被tap手势覆盖,没办法自己处理)

解决办法:

1.原代码:

        view.addGestureRecognizer(UITapGestureRecognizer(target:self, action:#selector(handleTap(_:))))

修改后代码:

lettapAction =UITapGestureRecognizer(target:self, action:#selector(handleTap(_:)))

        tapAction.delegate=self

        view.addGestureRecognizer(tapAction)

目的是给tap指定delegate。

2.self类继承 UIGestureRecognizerDelegate

(view所在controller)

class ChatDetailViewController: UIViewController ,UITableViewDelegate,UIGestureRecognizerDelegate{

3.重写函数,增加判断条件不需要tap手势响应返回false。

    funcgestureRecognizer(_gestureRecognizer:UIGestureRecognizer, shouldReceive touch:UITouch) ->Bool{

        if touch.view?.restorationIdentifier == "contactlist"{

            returnfalse

        }

        return true

    }

相关文章

网友评论

      本文标题:swift手势和UIView冲突解决

      本文链接:https://www.haomeiwen.com/subject/biosmftx.html