UIScreenEdgePanGestureRecognizer 屏幕邊緣滑動 使用方法

UIScreenEdgePanGestureRecognizer *rightEdgeGesture =

[[UIScreenEdgePanGestureRecognizer alloc] initWithTarget:self

action:@selector(handleRightEdgeGesture:)];

rightEdgeGesture.edges = UIRectEdgeRight;? ? ? ? ? // 右滑顯示

[self.view addGestureRecognizer:rightEdgeGesture];

但是如果存在UIScrollerView 使用UIScreenEdgePanGestureRecognizer實(shí)現(xiàn)側(cè)滑效果失效的問題

原因是因?yàn)榛瑒臃祷厥聦?shí)上也是由于存在已久的UIScreenEdgePanGestureRecognizer來識別并且相應(yīng)地枉昏,它直接與UINavigationController的view進(jìn)行了綁定响蓉,綁定的方法是寫在UINavgationController 的基類中的据沈,正如一下:

UIPanGestureRecongnizer -- bind-- UIScrollerView

UIScreenEdgePanGestureRecognizer --bind-- UINavigationController.view

滑動返回?zé)o法觸發(fā)潮尝,說明UIScreenEdgePanGestureRecongnizer并沒有接受到手勢事件纵菌。

根據(jù)蘋果的官方文檔說明 UIGestureRecongnizer 和UIview 是多對一的關(guān)系,UIGestureRecognizer 一定要和UIView進(jìn)行綁定才能發(fā)揮作用佑惠,因此UIGestureRecongnizer對于屏幕上的手勢事件,其接受順序和UIView的層次結(jié)構(gòu)是一致的腻扇,如下關(guān)系

UINavgataionController.view -->UIviewController.view -- > UIScrollerView.view -->screen and user'finger 既UIScrollView的panGestureRecognizer

先接受到了手勢事件,直接就處理而沒有往下傳遞實(shí)際上就是兩個手勢共存的問題

觸發(fā)手勢的時候因?yàn)閟crollview在上邊砾嫉,所以沒有往下傳遞

解決方案

UIGestureRecognizerDelegate 代理方法中包含幼苛,支持多個UIGestureRecongnizer共存,其中一個方法是

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer;

總結(jié)就是此方法返回YES,手勢事件會一直往下傳遞焕刮,不論當(dāng)前層次是否對該事件進(jìn)行響應(yīng)

UIScrollView本身是其panGestureRecognizer的delegate蚓峦,且apple君明確表明不能修改它的delegate

UIScrollView作為delegate,說明UIScrollView中實(shí)現(xiàn)了上文提到的shouldRecognizeSimultaneouslyWithGestureRecognizer方法济锄,返回了NO暑椰。創(chuàng)建一個UIScrollView的category,由于category中的同名方法會覆蓋原有.m文件中的實(shí)現(xiàn)荐绝,使得可以自定義手勢事件的傳遞一汽,如下:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{

if ([gestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]]? && [otherGestureRecognizer isKindOfClass:[UIScreenEdgePanGestureRecognizer class]]) {

return YES;

} else? {

return NO;

}

}


參考:

iOS 下如果存在UIScrollerView 使用UIScreenEdgePanGestureRecognizer實(shí)現(xiàn)側(cè)滑效果失效的問題

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市低滩,隨后出現(xiàn)的幾起案子召夹,更是在濱河造成了極大的恐慌,老刑警劉巖恕沫,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件监憎,死亡現(xiàn)場離奇詭異,居然都是意外死亡婶溯,警方通過查閱死者的電腦和手機(jī)鲸阔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來迄委,“玉大人褐筛,你說我怎么就攤上這事⌒鹕恚” “怎么了渔扎?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長信轿。 經(jīng)常有香客問我晃痴,道長,這世上最難降的妖魔是什么财忽? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任倘核,我火速辦了婚禮,結(jié)果婚禮上定罢,老公的妹妹穿的比我還像新娘笤虫。我一直安慰自己,他們只是感情好祖凫,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布琼蚯。 她就那樣靜靜地躺著,像睡著了一般惠况。 火紅的嫁衣襯著肌膚如雪遭庶。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天稠屠,我揣著相機(jī)與錄音峦睡,去河邊找鬼。 笑死权埠,一個胖子當(dāng)著我的面吹牛榨了,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播攘蔽,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼龙屉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了满俗?” 一聲冷哼從身側(cè)響起转捕,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎唆垃,沒想到半個月后五芝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡辕万,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年枢步,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片渐尿。...
    茶點(diǎn)故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡价捧,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出涡戳,到底是詐尸還是另有隱情结蟋,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布渔彰,位于F島的核電站嵌屎,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏恍涂。R本人自食惡果不足惜宝惰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望再沧。 院中可真熱鬧尼夺,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至拐邪,卻和暖如春慰毅,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背扎阶。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工汹胃, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人东臀。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓着饥,卻偏偏與公主長得像,于是被迫代替她去往敵國和親惰赋。 傳聞我的和親對象是個殘疾皇子宰掉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評論 2 355

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