一:前言
前些日子产品经理要做一个功能,功能要求:
(1) UITableViewCELL 更多 按钮点击出现二级菜单
(2)点击 UItableViewCELL, 以及 其他CELL 收起二级菜单.
(3)点击 tableView的 空白 地方,收起已经弹出的二级菜单.
项目效果如图所示:
实现效果
二:实现过程中遇到的坑,
因为本页面也会在其他地方使用,并且需要CELL的点击选中单元格,做一些操作.但是当我们给tablView增加点击手势的时候,会遇到这种情况:--cell的点击事件就不能使用了.那这种情况我们怎么处理呢,
解决办法:给TableVIew增加事件,并且实现tableViewCELL的点击事件,这时候,两个方法冲突了,但是我们还有一个代理方法没有用到,
UITapGestureRecognizer 有一个代理方法叫
- (BOOL)gestureRecognizer:(UIGestureRecognizer*)gestureRecognizer shouldReceiveTouch:(UITouch*)touch;
实现这个方法,并且在这个方法里面做判断.
这样的话.cell 的点击事件没有被拦截,tableView本身也能点击了.