情况:底部为UIScrollView,上面两个controllerView, 每个controller里面都是tabelview,现在要在右边controller的TableView的Cell上添加左滑删除功能,但是添加手势之后发现被底部的UISrollView识别了,而Cell的手势偶尔被识别。
解决办法:新建一个自己的scrollView继承UIScrollView,重写手势代理方法
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
if (gestureRecognizer.state != 0) {
return YES;
} else {
return NO;
}
}
意思就是:如果这个手势没有被识别,那么就多个gestureRecognizer可以同步识别;
然后把scroller 的左右边缘滑动给禁止就可以了
-(void)scrollViewDidScroll:(UIScrollView*)scrollView
{
if(scrollView.contentOffset.x>SCREEN_WIDTH|| scrollView.contentOffset.x<0) {
scrollView.scrollEnabled=NO;
}else{
scrollView.scrollEnabled=YES;
}
}