cancelsTouchesInView
2017-10-19 本文已影响0人
想想8606
需求:我想在bgTableView上再加一个下拉列表,这个下拉列表当然也是一个tableView啦!
遇到的问题是:点击空白处,则下拉列表收起;
冲突:点击的空白处,并不是self.view,而是点击的bgTableView。
那么,这个点击事件是发生在bgTableView上的。
解决办法:给bgTableView添加手势,并且把bgTableViewCell的点击事件禁掉。
//1、给tableView添加手势
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget : self action:@selector(touch:)]; //创建手势
tap.cancelsTouchesInView = NO; //这句是说,是否关闭添加view的其他action,也就是说,是不是代替cell的点击方法.相当于设置了它,则在点击的时候会执行touch:方法,而不是tableView的点击cell的方法
[bgTableView addGestureRecognizer:tap];
然后在touch:中去执行我们想要的操作。