关于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)