ios 滑動返回的解決方案

三種方法:方法1:系統(tǒng)自帶的側(cè)滑返回方法

2【8行代碼教你搞定導(dǎo)航控制器全屏滑動返回效果】 |那些人追的干貨

3:百度知道團隊出品的全屏側(cè)滑返回(github地址)

方案一 :開啟使用系統(tǒng)自帶的側(cè)滑返回

iOS7之后系統(tǒng)提供了側(cè)滑手勢(interactivePopGestureRecognizer)实愚,即從屏幕左側(cè)邊緣滑起會pop回導(dǎo)航控制器棧的上個viewController嗦嗡。不過如果你自定義了UINavigationViewController或者自定義了返回按鈕呛牲,系統(tǒng)自帶的側(cè)滑返回功能會失效鞍恢。此時需要添加下面的代碼解決:self.navigationController.interactivePopGestureRecognizer.delegate = (id)self;

缺點:

?必須從屏幕邊緣左側(cè)滑起才會觸發(fā)希太;

?一旦自定義導(dǎo)航控制器或者自定義返回按鈕特姐,就會失效晶丘。

?優(yōu)點:實現(xiàn)簡單,導(dǎo)航控制器中對全體viewController的側(cè)滑功能可控唐含,系統(tǒng)API絕對安全可靠浅浮,無手勢沖突

?缺點:側(cè)滑范圍局限于左側(cè)

?適用需求:只需左側(cè)小范圍觸發(fā)側(cè)滑時的首選實現(xiàn)方案。

?注:以上代碼是強制開啟捷枯,而系統(tǒng)的側(cè)滑是默認開啟的滚秩,如果在某一界面 hidesBackButton,那么系統(tǒng)是禁止當前界面的側(cè)滑返回淮捆。

?如果實現(xiàn)了以上代碼郁油,屬于強制開啟,那么就算當前界面hidesBackButton攀痊,側(cè)滑功能一樣開啟桐腌,通過上面的代理方法可以做到靈活控制哪個界面是否開啟側(cè)滑。方案二極其簡單取巧的方法iOS7之后是有側(cè)滑返回手勢功能的苟径。注意案站,也就是說系統(tǒng)已經(jīng)定義了一種手勢,并且給這個手勢已經(jīng)添加了一個觸發(fā)方法(重點)棘街。但是蟆盐,系統(tǒng)的這個手勢的觸發(fā)條件是必須從屏幕左邊緣開始滑動。我們?nèi)∏傻姆椒ㄊ亲约簩懸粋€支持全屏滑動的手勢遭殉,而其觸發(fā)方法系統(tǒng)已經(jīng)有石挂,沒必要自己實現(xiàn)pop的動畫,所以直接就把系統(tǒng)的觸發(fā)處理方法作為我們自己定義的手勢的處理方法险污。#import "ViewController.h"@interface ViewController ()@end

@implementation ViewController

- (void)viewDidLoad

{

[super viewDidLoad];

id target = self.navigationController.interactivePopGestureRecognizer.delegate;

// handleNavigationTransition:為系統(tǒng)私有API,即系統(tǒng)自帶側(cè)滑手勢的回調(diào)方法痹愚,我們在自己的手勢上直接用它的回調(diào)方法

UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:target action:@selector(handleNavigationTransition:)];

panGesture.delegate = self; // 設(shè)置手勢代理,攔截手勢觸發(fā)

[self.view addGestureRecognizer:panGesture];

// 一定要禁止系統(tǒng)自帶的滑動手勢

self.navigationController.interactivePopGestureRecognizer.enabled = NO;

}

// 什么時候調(diào)用蛔糯,每次觸發(fā)手勢之前都會詢問下代理方法拯腮,是否觸發(fā)

// 作用:攔截手勢觸發(fā)

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer

{

// 當當前控制器是根控制器時,不可以側(cè)滑返回渤闷,所以不能使其觸發(fā)手勢

if(self.navigationController.childViewControllers.count == 1)

{

return NO;

}

return YES;

}

@end

優(yōu)點:最簡潔的全屏側(cè)滑實現(xiàn),導(dǎo)航控制器中對全體viewController的側(cè)滑功能可控

缺點:從右邊忘左邊劃動也能觸發(fā)側(cè)滑操作脖镀,有手勢沖突飒箭,并不完美狼电。且調(diào)用官方私有API

另外:正是缺點的所在,和Cell的側(cè)滑刪除手勢也是有沖突的弦蹂,也就是說肩碟,免不了需要解決手勢的沖突。

適用需求:最好不用凸椿,畢竟缺點明顯削祈。(不過這個實現(xiàn)思路,確實值得稱贊D月)

方法三實現(xiàn)(集成最簡單髓抑、功能最全面):

去上面的鏈接地址下載DEMO,具體詳情見github

轉(zhuǎn)載优幸、

1.iOS側(cè)滑返回三種實現(xiàn)方式及優(yōu)劣比較

2.iOS使其支持側(cè)滑返回

3.iOS之手勢滑動返回功能-b

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末吨拍,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子网杆,更是在濱河造成了極大的恐慌羹饰,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件碳却,死亡現(xiàn)場離奇詭異队秩,居然都是意外死亡,警方通過查閱死者的電腦和手機昼浦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進店門馍资,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人座柱,你說我怎么就攤上這事迷帜。” “怎么了色洞?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵戏锹,是天一觀的道長。 經(jīng)常有香客問我火诸,道長锦针,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任置蜀,我火速辦了婚禮奈搜,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘盯荤。我一直安慰自己馋吗,他們只是感情好,可當我...
    茶點故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布秋秤。 她就那樣靜靜地躺著宏粤,像睡著了一般脚翘。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上绍哎,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天来农,我揣著相機與錄音,去河邊找鬼崇堰。 笑死沃于,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的海诲。 我是一名探鬼主播繁莹,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼饿肺!你這毒婦竟也來了蒋困?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤敬辣,失蹤者是張志新(化名)和其女友劉穎雪标,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體溉跃,經(jīng)...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡村刨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了撰茎。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嵌牺。...
    茶點故事閱讀 40,146評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖龄糊,靈堂內(nèi)的尸體忽然破棺而出逆粹,到底是詐尸還是另有隱情,我是刑警寧澤炫惩,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布僻弹,位于F島的核電站,受9級特大地震影響他嚷,放射性物質(zhì)發(fā)生泄漏蹋绽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一筋蓖、第九天 我趴在偏房一處隱蔽的房頂上張望卸耘。 院中可真熱鬧,春花似錦粘咖、人聲如沸蚣抗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽翰铡。三九已至设哗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間两蟀,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工震缭, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留赂毯,地道東北人。 一個月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓拣宰,卻偏偏與公主長得像党涕,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子巡社,可洞房花燭夜當晚...
    茶點故事閱讀 45,107評論 2 356

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