iOS app 右滑返回操作的兩種方法
前提條件,存在A和B兩個頁面,A是主界面,A push 到 B
方法一:如果B頁面的返回按鈕要用自定義的按鈕(在iOS7中,如果使用了UINavigationController,那么系統(tǒng)自帶的附加了一個從屏幕左邊緣開始滑動可以實(shí)現(xiàn)pop的手勢。但是,如果自定義了navigationItem的leftBarButtonItem,那么這個手勢就會失效。)
在A界面:
- (void)viewDidAppear:(BOOL)animated { self.navigationController.interactivePopGestureRecognizer.delegate = (id)self;//重新設(shè)置代理 self.navigationController.interactivePopGestureRecognizer.enabled = NO;//本頁面不能右滑 }
在B里面:
設(shè)置返回按鈕:
UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom]; backBtn.frame = CGRectMake(5, 2, 21, 35); [backBtn setImage:[UIImage imageNamed:@"back"] forState:UIControlStateNormal]; [[backBtn rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(id x) { [self.navigationController popViewControllerAnimated:YES]; }]; UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithCustomView:backBtn]; self.navigationItem.leftBarButtonItem = backItem; self.navigationController.interactivePopGestureRecognizer.enabled = YES;//最重要的一步
方法二:在A頁面里面(A頁面里面的backBarButtonItem其實(shí)就是我們看到的B頁面的返回按鈕,B頁面的leftBar是左側(cè)的按鈕,注意優(yōu)先級,B里面有自定義leftBar,顯示B頁面的,如果沒有,看A界面,如果里面有backBarButtonItem,顯示,如果沒有,就是系統(tǒng)默認(rèn)的那個)
UIImage* image = [UIImage imageNamed:@"back"]; UIBarButtonItem *item = [[UIBarButtonItem alloc] init]; [item setBackButtonBackgroundImage:[image resizableImageWithCapInsets:UIEdgeInsetsMake(0, image.size.width, 0, 0)] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; [item setBackButtonTitlePositionAdjustment:UIOffsetMake(-400.f, 0) forBarMetrics:UIBarMetricsDefault]; self.navigationItem.backBarButtonItem = item; self.navigationItem.backBarButtonItem = item;
我采用的是方法一,方法二我沒有辦法調(diào)整返回按鈕的位置
總結(jié)
以上所述是小編給大家介紹的iOS app 右滑返回操作的兩種方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
分享一個iOS下實(shí)現(xiàn)基本繪畫板功能的簡單方法
這篇文章主要介紹了iOS下實(shí)現(xiàn)基本繪畫板功能的簡單方法,代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下2015-10-10iOS App開發(fā)中用CGContextRef繪制基本圖形的基本示例
這篇文章主要介紹了iOS App開發(fā)中用CGContextRef繪制基本圖形的基本示例,CGContextRef同時可以進(jìn)行圖形顏色的填充以及文字的書寫,需要的朋友可以參考下2016-05-05IOS 解決UIButton 點(diǎn)擊卡頓/延遲的問題
本文主要介紹 IOS UIButton, 這里給大家提供代碼實(shí)例作為參考,解決 UIButton 點(diǎn)擊卡頓或者延遲問題,在開發(fā) IOS 項(xiàng)目的小伙伴如果遇到這樣的問題可以參考下2016-07-07舉例講解iOS應(yīng)用開發(fā)中對設(shè)計模式中的策略模式的使用
這篇文章主要介紹了iOS應(yīng)用設(shè)計中對設(shè)計模式中的策略模式的使用,示例代碼為傳統(tǒng)的Objective-C語言,需要的朋友可以參考下2016-03-03iOS開發(fā)之?dāng)r截URL轉(zhuǎn)換成本地路由模塊URLRewrite詳解
這篇文章主要給大家介紹了關(guān)于iOS開發(fā)之?dāng)r截URL轉(zhuǎn)換成本地路由模塊URLRewrite的相關(guān)資料,這是最近在工作中遇到的一個需求,文中通過示例代碼介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編來一起看看吧。2017-08-08iOS實(shí)現(xiàn)app間跳轉(zhuǎn)功能
這篇文章主要為大家詳細(xì)介紹了iOS實(shí)現(xiàn)app間跳轉(zhuǎn)功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05iOS的UI開發(fā)中UITabBarControlle的基本使用教程
這篇文章主要介紹了iOS的UI開發(fā)中UITabBarControlle的基本使用教程,代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下2015-12-12iOS-Mac配置Tomcat教程 Mac環(huán)境配置Tomcat教程
這篇文章主要介紹了iOS-Mac配置Tomcat教程,Mac環(huán)境配置Tomcat,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-11-11