关于iOS抽屉MMDrawerController手势冲突

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于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手势冲突的主要内容,如果未能解决你的问题,请参考以下文章

带有 StoryBoard 菜单项的 MMDrawerController

MMDrawerController 使用 Swift 预建动画

iOS:抽屉侧滑动画两种形式(1UIView侧滑 2ViewController侧滑)

为啥我第二次使用侧边菜单打不开? (MMDrawerController + UITabBarController)

iOS分组通讯录效果+側滑菜单(MMDrawerController)

第三方的使用