iOS 開發(fā)之解決 MMDrawerController 側(cè)滑菜單與中心視圖手勢沖突

MMDrawerController 是一個很好用的實現(xiàn)抽屜效果的第三方類辖试,但有時候當(dāng)我們在中心視圖的子視圖控制器中需要使用手勢進行其他操作的時候會產(chǎn)生手勢沖突辜王,導(dǎo)致運行效果不符合我們的想象。那么問題來了罐孝,該怎么解決沖突問題呢呐馆?

下面是我在使用過程中的個人總結(jié):

需求:

1、只有左抽屜和中心視圖控制器肾档,在中心視圖的子視圖控制器右滑可以打開左抽屜摹恰。

2辫继、中心視圖的子視圖控制器中的 Cell 可通過滑動手勢顯示自定義 Cell 中的刪除按鈕

問題:

1怒见、由于刪除 Cell 的左滑手勢和 MMDrawerController 的打開右抽屜的左滑手勢有沖突,導(dǎo)致左滑顯示自定義 Cell 刪除按鈕的方法不響應(yīng)姑宽。

期待效果:

1遣耍、解除刪除 Cell 的手勢沖突

2、右滑可以打開左抽屜

思考過程:

MMDrawerController 中應(yīng)該有一個識別手勢的方法炮车,只要找到這個方法問題就可以得到解決舵变。

解決過程:

1酣溃、在 MMDrawerController 文件夾下的各個.m文件中通過 Command+F 搜尋 GestureRecognizer,最終在 MMDrawerController 這個類中找到這個方法

-(MMOpenDrawerGestureMode)possibleOpenGestureModesForGestureRecognizer:(UIGestureRecognizer*)gestureRecognizer withTouch:(UITouch*)touch纪隙;

2赊豌、在這個方法中找到了 PointContainedWithinCenterViewContentRect: 這個判斷條件,按住 Command 點擊后跳到它所在的位置绵咱,在這里找到了問題所在碘饼。解決方式如下:

MMDrawerController.m 1443 行

-(BOOL)isPointContainedWithinCenterViewContentRect:(CGPoint)point{

  // CGRect centerViewContentRect = self.centerContainerView.frame;      
  // 原文意思是把觸發(fā)抽屜的手勢識別放在整個屏幕中

  CGRect centerViewContentRect = CGRectMake(0, 0, 50, self.centerContainerView.frame.size.height);  
  // 修改后的意思是把觸發(fā)打開抽屜手勢識別放在屏幕左側(cè)寬50,高為屏幕高度的 rect 中

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

  return (CGRectContainsPoint(centerViewContentRect, point) && [self isPointContainedWithinNavigationRect:point] == NO);
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末悲伶,一起剝皮案震驚了整個濱河市艾恼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌麸锉,老刑警劉巖钠绍,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異花沉,居然都是意外死亡柳爽,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進店門碱屁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來泻拦,“玉大人,你說我怎么就攤上這事忽媒≌眨” “怎么了?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵晦雨,是天一觀的道長架曹。 經(jīng)常有香客問我,道長闹瞧,這世上最難降的妖魔是什么绑雄? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮奥邮,結(jié)果婚禮上万牺,老公的妹妹穿的比我還像新娘。我一直安慰自己洽腺,他們只是感情好脚粟,可當(dāng)我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蘸朋,像睡著了一般核无。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上藕坯,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天团南,我揣著相機與錄音噪沙,去河邊找鬼。 笑死吐根,一個胖子當(dāng)著我的面吹牛正歼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播拷橘,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼朋腋,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了膜楷?” 一聲冷哼從身側(cè)響起旭咽,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎赌厅,沒想到半個月后穷绵,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡特愿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年仲墨,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片揍障。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡目养,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出毒嫡,到底是詐尸還是另有隱情癌蚁,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布兜畸,位于F島的核電站努释,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏咬摇。R本人自食惡果不足惜伐蒂,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望肛鹏。 院中可真熱鬧逸邦,春花似錦、人聲如沸在扰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽健田。三九已至烛卧,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間妓局,已是汗流浹背总放。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工缀踪, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留醉箕,地道東北人腋逆。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓者疤,卻偏偏與公主長得像吃环,于是被迫代替她去往敵國和親氯窍。 傳聞我的和親對象是個殘疾皇子漏益,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,512評論 2 359

推薦閱讀更多精彩內(nèi)容