首页 > 代码库 > 关于iOS抽屉MMDrawerController手势冲突

关于iOS抽屉MMDrawerController手势冲突

问题:项目中使用到抽屉控制器MMDrawerController,中间视图设置为TabbarController。现TabbarController上的一个子控制器添加了一个TableController,cell添加侧滑删除,不灵。

原因:抽屉MMDrawerController侧滑手势与cell删除侧滑手势冲突。

解决方案:

将抽屉控制器MMDrawerController侧滑手势范围由全屏改为左侧;技术分享

找到MMDrawerController.h类,修改方法 (BOOL)isPointContainedWithinCenterViewContentRect:(CGPoint)point。

代码如下:

-(BOOL)isPointContainedWithinCenterViewContentRect:(CGPoint)point{

//    CGRect centerViewContentRect = self.centerContainerView.frame;

    CGRect centerViewContentRect = CGRectMake(0, 0, 50, self.centerContainerView.frame.size.height);//修改后的意思是把触发打开抽屉手势识别放在屏幕左侧宽50,高为屏幕高度的rect中

 

    centerViewContentRect = CGRectIntersection(centerViewContentRect,self.childControllerContainerView.bounds);

    return (CGRectContainsPoint(centerViewContentRect, point) &&

            [self isPointContainedWithinNavigationRect:point] == NO);

}

 

关于iOS抽屉MMDrawerController手势冲突