美文网首页
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