前言
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运行下,完美.
记录自己开发的点滴,努力成长. 加油!!!