美文网首页
实现tableview中在规定区域滑动的过程中,不进行滑动

实现tableview中在规定区域滑动的过程中,不进行滑动

作者: 低调的腹 | 来源:发表于2018-01-12 21:53 被阅读0次

    今天心情很不好,很不好啊很不好,客户在测试app过程中,就是要ios按照android来做,

    整个是个tableview,底部有个指南针的效果,要求是当指南针滑动的时候,tableivew不能滑动,

    刚开始我以为很简单,就是 监听这个代理方法:

    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent*)event{

        [supertouchesBegan:toucheswithEvent:event];

        UITouch*touch = [touchesanyObject];

        CGPointpoint =[touchlocationInView:self.view];

        NSLog(@"touchesBegan--->%f%f",point.y,_start_stopimg.frame.origin.y);

        //如果在视图之上 就忽略

        if(point.y>self.start_stopimg.frame.origin.y){  //判断标点是否已经在范围之内,是的话,就可以禁止tableivew的滑动了

            self.temptableview.scrollEnabled=NO;

            return;

        }

        NSLog(@"禁止下拉事件...");

     //  self.temptableview.scrollEnabled = NO;

    }

    然后在滑动结束的过程中把tableivew滑动事件打回开来

    - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent*)event{

        [supertouchesEnded:toucheswithEvent:event];

        self.temptableview.scrollEnabled = YES;

    但是这样如果是点击状态下,确认可以实现这个效果,但是如果滑动tableview 却怎么也不行,为什么呢 为什么呢。。从中午上班开始就一直在查找资料,但是效果总是出不来,功夫不负有心人啊 终于找到了一个帖子,看了类似于的功能,开开心心的尝试了,还真可以啊。。哇哇。。。

    首先要设置tableivew的两个属性:

    self.scrollView.canCancelContentTouches =YES;

    self.scrollView.delaysContentTouches =NO;‘

    delaysContentTouches表示scrollView的子控件响应触摸事件是否有延迟,NO表示立即响应,YES表示延迟响应;

    然后要创建tableview的分类:

    重写两个代理方法:

    -(BOOL)touchesShouldCancelInContentView:(UIView*)view{

    if([view isKindOfClass:[UIButtonclass]]) {

    returnYES; 

     }

    return[supertouchesShouldCancelInContentView:view];

    }

    //在触摸事件开始相应前调用- (BOOL)touchesShouldBegin:(NSSet*)touches withEvent:(UIEvent*)event inContentView:(UIView*)view{if([view isKindOfClass:[HBSignViewclass]]||[view isKindOfClass:[UIButtonclass]]) {returnYES; }returnNO;}

    这两个方法的可以实现我要的效果:

    先调用 touchesShouldBegin,然后点击子控件是按钮,那子控件自己处理这个事件,touchesShouldCancelInContentView这个方法可以去掉其他事件的干扰。。不是很理解啊先实现效果,留着以后慢慢用。

    相关文章

      网友评论

          本文标题:实现tableview中在规定区域滑动的过程中,不进行滑动

          本文链接:https://www.haomeiwen.com/subject/xclqoxtx.html