中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iOS 自定義返回按鈕保留系統滑動返回功能

發布時間:2020-09-12 12:19:30 來源:腳本之家 閱讀:212 作者:Lea__DongYang 欄目:移動開發

先給大家展示下效果圖:

iOS 自定義返回按鈕保留系統滑動返回功能

 1.簡介

使用蘋果手機,最喜歡的就是用它的滑動返回.作為一個開發者,我們在編寫很多頁面的時候,總是會因為這樣那樣的原因使得系統的滑動返回不可用.使用導航欄push出一個控制器,我們在控制器中自定義了一個返回按鈕.這樣系統默認的滑動返回手勢效果就沒有了.

2.解決方法

[1]從A這個控制器push到B這個控制器,我們想要自定義B的返回按鈕,我們可以在A中設置

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"王儼" style:UIBarButtonItemStylePlain target:nil action:nil]; 

[2]在B控制器設置返回按鈕,我想這應該是大多數人喜歡的選擇,可是當我們在B控制器中設置self.navigationItem.leftBarButtonItem后發現系統的滑動返回手勢失效了.那么如何可以保留系統的滑動返回手勢了,我們可以B控制器中這樣做.

@interface ViewController ()  
@end@implementation ViewController 
- (void)viewDidLoad { 
    [super viewDidLoad];    // 自定義返回按鈕 
    UIButton *button = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, 44, 44)]; 
    [button setTitle:@"王儼2" forState:UIControlStateNormal]; 
    [button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; 
    [button addTarget:self action:@selector(back:) forControlEvents:UIControlEventTouchUpInside];    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithCustomView:button]; 
} 
- (void)back:(UIButton *)button { 
    [self.navigationController popViewControllerAnimated:YES]; 
} 
- (void)viewWillAppear:(BOOL)animated { 
  [super viewWillAppear:animated];  if (self.navigationController.viewControllers.count > 1) {     // 記錄系統返回手勢的代理 
    _delegate = self.navigationController.interactivePopGestureRecognizer.delegate;     // 設置系統返回手勢的代理為當前控制器 
    self.navigationController.interactivePopGestureRecognizer.delegate = self; 
  } 
} 
- (void)viewWillDisappear:(BOOL)animated { 
  [super viewWillDisappear:animated];   // 設置系統返回手勢的代理為我們剛進入控制器的時候記錄的系統的返回手勢代理 
  self.navigationController.interactivePopGestureRecognizer.delegate = _delegate; 
}#pragma mark - UIGestureRecognizerDelegate- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer {    return self.navigationController.childViewControllers.count > 1; 
} 
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {  return self.navigationController.viewControllers.count > 1; 
}@end 

以上所述是小編給大家介紹的iOS 自定義返回按鈕保留系統滑動返回功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

郧西县| 洛浦县| 大方县| 叶城县| 环江| 西充县| 广丰县| 七台河市| 墨竹工卡县| 巫溪县| 开鲁县| 禄丰县| 塘沽区| 金坛市| 兴宁市| 修文县| 南木林县| 吐鲁番市| 五河县| 高安市| 北海市| 岑溪市| 烟台市| 长沙市| 奉新县| 黑河市| 泽州县| 衡水市| 靖边县| 宜宾市| 漠河县| 祁连县| 曲靖市| 黄山市| 普兰县| 枞阳县| 华池县| 郑州市| 类乌齐县| 铜鼓县| 安多县|