Swift,iOS的点击事件传递与判断

clipboard.png
图片整个是一个cell,cell里面有个容器控件UICollectionView,UICollectionView里面有多张图片,图片能响应点击事件,被点击后就会放大预览,当图片没放满,点击灰线以及黄色方框的区域时,需要响应cell的didSelectRowAtIndexPath这个方法,现在我有两个思路,一个是重写了hitTest方法,但是需要判断当前被点击的坐标是哪个控件,而且hitTest会被多次调用,实现比较麻烦,还有一个思路是在没有放满的位置也放上一个按钮响应点击,但是这样灰线的位置就无法满足产品需求,这个地方与新浪微博的比较相似,求指导一下思路

阅读 5.3k
1 个回答

首先didSelectRowAtIndexPath 是 tableView 的方法,collectionView 应该是didSelectItem...

其次,给图片 userInteractionEnabled = YES,然后 addGestureRecognizer:[[UITapGestureRecognizer allo] initWithTarget...]就行了。这样的话,点图片就到响应tapGestureRecognizer的事件,点其他区域自然就到didSelectItemAtIndexPath...了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题