美文网首页
MMDrawerController与UITableView的左

MMDrawerController与UITableView的左

作者: 姚姚先生 | 来源:发表于2018-05-24 09:09 被阅读17次

    前言

    MMDrawerController是在github有着超高人气的抽屉式第三方,使用起来很方便,这里就不多说了,说一下我使用过成中遇到的问题

    在UITableView种有左滑删除的需求,这个和MMDrawerController右滑打开菜单发生了冲突,导致左滑删除时灵时不灵
    
    • 思索再三,决定去MMDrawerController的头文件看一看,找找跟手势相关的代码,搜索GestureRecognizer相关代码发现了问题
    -(MMOpenDrawerGestureMode)possibleOpenGestureModesForGestureRecognizer:(UIGestureRecognizer*)gestureRecognizer withTouch:(UITouch*)touch;
    

    上面这段代码是打开侧边视图的手势代码,跳进去看看发现

    
    
    -(BOOL)isPointContainedWithinCenterViewContentRect:(CGPoint)point
    {  
      //这个是原来的代码:  手势区域是整个屏幕
    //    CGRect centerViewContentRect = self.centerContainerView.frame; 
         
      //我们来修改下这句代码: 把触发打开抽屉手势识别放在屏幕左侧宽50,高为屏幕高度的rect中  
        CGRect centerViewContentRect = CGRectMake(0, 0, 50, self.centerContainerView.frame.size.height);  
      
        centerViewContentRect = CGRectIntersection(centerViewContentRect,self.childControllerContainerView.bounds);  
      
        return (CGRectContainsPoint(centerViewContentRect, point) &&  
      
                [self isPointContainedWithinNavigationRect:point] == NO);  
      
    }  
    

    然后cmd+r运行下,完美.

    记录自己开发的点滴,努力成长. 加油!!!

    相关文章

      网友评论

          本文标题:MMDrawerController与UITableView的左

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