didSelectItemAtIndexPath是通过UIResponder的四个touch方法实现的(touchBegan, touchMove, touchEnd, touchCancel)因此当给UICollectionView添加手势识别时(如tap手势),手势识别成功后touch事件会被取消掉,导致didSelectItemAtIndexPath无法调用,解决办法是将手势识别的cancelTouchesInView属性设为NO,即手势识别成功之后依然继续发送touch事件。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

 

ps:发现UIButton的按下事件不受父view的gesture事件影响,推测UIButton有自己的特殊处理逻辑

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄