为嵌套在左右滑动的UIScrollview上的UITableView增加左滑手势删除

情况:底部为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;

    }

}

你可能感兴趣的:(为嵌套在左右滑动的UIScrollview上的UITableView增加左滑手势删除)