欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

iOS 自定義返回按鈕保留系統(tǒng)滑動返回功能

 更新時間:2017年01月20日 15:32:37   作者:Lea__DongYang  
這篇文章主要介紹了iOS 自定義返回按鈕,保留系統(tǒng)滑動返回功能,實(shí)現(xiàn)方法非常簡單,具有參考借鑒價值,需要的朋友參考下吧

先給大家展示下效果圖:

1679203-9008e5fab32df21b.gif

 1.簡介

使用蘋果手機(jī),最喜歡的就是用它的滑動返回.作為一個開發(fā)者,我們在編寫很多頁面的時候,總是會因?yàn)檫@樣那樣的原因使得系統(tǒng)的滑動返回不可用.使用導(dǎo)航欄push出一個控制器,我們在控制器中自定義了一個返回按鈕.這樣系統(tǒng)默認(rèn)的滑動返回手勢效果就沒有了.

2.解決方法

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

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

[2]在B控制器設(shè)置返回按鈕,我想這應(yīng)該是大多數(shù)人喜歡的選擇,可是當(dāng)我們在B控制器中設(shè)置self.navigationItem.leftBarButtonItem后發(fā)現(xiàn)系統(tǒng)的滑動返回手勢失效了.那么如何可以保留系統(tǒng)的滑動返回手勢了,我們可以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) {     // 記錄系統(tǒng)返回手勢的代理 
    _delegate = self.navigationController.interactivePopGestureRecognizer.delegate;     // 設(shè)置系統(tǒng)返回手勢的代理為當(dāng)前控制器 
    self.navigationController.interactivePopGestureRecognizer.delegate = self; 
  } 
} 
- (void)viewWillDisappear:(BOOL)animated { 
  [super viewWillDisappear:animated];   // 設(shè)置系統(tǒng)返回手勢的代理為我們剛進(jìn)入控制器的時候記錄的系統(tǒng)的返回手勢代理 
  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 自定義返回按鈕保留系統(tǒng)滑動返回功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評論