在处理某些特殊需求的时候,可能会涉及到对点击手势的区域做限制。
用到的办法就是tapGeature的代理方法:
publicfuncgestureRecognizer(_gestureRecognizer:UIGestureRecognizer, shouldReceive touch:UITouch) ->Bool
简单举个例子:有如下3个view(区域1、2、3),根据要求手势要添加到这个3个view的superView上,然而手势的主要操作区域是2、且不应该影响1和3view上的任何操作。这个时候就要对手势的点击范围进行指定操作。

具体实现:
实现很简单,就是先获取当前点击位置的point。然后再去判断我们要操作的区域内是否包含刚刚点击位置的point,如果包含、则响应手势事件,否则不响应手势事件。

ok.
网友评论