亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

iOS 導航欄自帶頁面右滑pop使用示例

2019-10-21 18:43:15
字體:
來源:轉載
供稿:網友

iOS7之后蘋果導航控制器增加了一個左側邊緣右滑pop的手勢,在非棧底的控制器里面,從左邊右滑之后相當于出棧(pop)樣子。

以下設置均在自定義的UINavigationController里操作

// 默認是YES 設置為NO左側右滑手勢就不可用了self.interactivePopGestureRecognizer.enabled = YES;

也可以通過手勢實現右滑

遵守UIGestureRecognizerDelegate協議,設置代理對象,實現一下代理方法即可:

-(void)viewDidAppear:(BOOL)animated {  [super viewDidAppear:animated];  self.navigationController.interactivePopGestureRecognizer.delegate = self;}#pragma mark - UIGestureRecognizerDelegate- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer{  if (self.viewControllers.count <= 1) {    return NO;  }  return YES;}

個人的記憶方法:

backBarButtonItem設置下一個頁面的返回按鈕

leftBarButtonItem設置當前頁面的返回按鈕

項目中我們多數會自定義左側返回按鈕leftBarButtonItem,這個時候就算設置self.interactivePopGestureRecognizer.enabled = YES了或者實現手勢的代理,左邊緣的右滑動手勢依舊會失效,例如如下代碼寫過之后,可以驗證一下,失效了。

- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated{  if (self.viewControllers.count > 0) {    /* 不是棧底控制器的時候隱藏tabbar */    viewController.hidesBottomBarWhenPushed = YES;    // 設置左邊的返回按鈕leftBarButtonItem    UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom];    backBtn.frame = CGRectMake(0, 0, 44, 44);    backBtn.imageView.contentMode = UIViewContentModeCenter;    backBtn.contentEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 34);    [backBtn setImage:[UIImage imageNamed:@"rrrr"] forState:UIControlStateNormal];    [backBtn setImage:[UIImage imageNamed:@"rrrr"] forState:UIControlStateHighlighted];    [backBtn addTarget: self action: @selector(back) forControlEvents: UIControlEventTouchUpInside];    UIBarButtonItem *backBtnItem=[[UIBarButtonItem alloc]initWithCustomView:backBtn];    viewController.navigationItem.leftBarButtonItem = backBtnItem;// 此處改為設置backBarButtonItem 右滑手勢可以用,但自定義按鈕不展示??!  }  [super pushViewController:viewController animated:animated];}

按照如下方式設置backBarButtonItem或leftBarButtonItem,其他不做任何設置,右滑效果可用:

- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated{  if (self.viewControllers.count > 0) {    /* 不是棧底控制器的時候隱藏tabbar */    viewController.hidesBottomBarWhenPushed = YES;  }  [self.navigationBar setBackIndicatorImage:[UIImage imageNamed:@"rrrr"]];  [self.navigationBar setBackIndicatorTransitionMaskImage:[UIImage imageNamed:@"rrrr"]];  UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];  self.navigationItem.backBarButtonItem = backItem;  [super pushViewController:viewController animated:animated];}

或者

- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated{  if (self.viewControllers.count > 0) {    /* 不是棧底控制器的時候隱藏tabbar */    viewController.hidesBottomBarWhenPushed = YES;    [self.navigationBar setBackIndicatorImage:[UIImage imageNamed:@"rrrr"]];    [self.navigationBar setBackIndicatorTransitionMaskImage:[UIImage imageNamed:@"rrrr"]];    UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];    self.navigationItem.leftBarButtonItem = backItem;  }  [super pushViewController:viewController animated:animated];}

進過上面的反復測試:在自定義導航欄控制器中backBarButtonItem不能用View視圖方法自定義,而leftBarButtonItem可以。

setBackIndicatorImage和setBackIndicatorTransitionMaskImage無論怎么設置都是只能看到setBackIndicatorImage的圖片,找不到原因?。?!

然后嘗試直接在root視圖控制器里面設置返回按鈕backBarButtonItem的自定義view,右滑手勢可用,但是設置leftBarButtonItem就不能使用右滑手勢:

- (void)viewDidLoad {  [super viewDidLoad];  // 設置左邊的返回按鈕  UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom];  backBtn.frame = CGRectMake(0, 0, 44, 44);  backBtn.imageView.contentMode = UIViewContentModeCenter;  backBtn.contentEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 34);  [backBtn setImage:[UIImage imageNamed:@"rrrr"] forState:UIControlStateNormal];  [backBtn setImage:[UIImage imageNamed:@"rrrr"] forState:UIControlStateHighlighted];  [backBtn addTarget: self action: @selector(back) forControlEvents: UIControlEventTouchUpInside];  backBtn.backgroundColor = [UIColor redColor];    [self.navigationController.navigationBar setBackIndicatorImage:[UIImage imageNamed:@"rrrr"]];  [self.navigationController.navigationBar setBackIndicatorTransitionMaskImage:[UIImage imageNamed:@"rrrr"]];  UIBarButtonItem *backBtnItem=[[UIBarButtonItem alloc]initWithCustomView:backBtn];  backBtnItem.title = @"";  self.navigationItem.backBarButtonItem = backBtnItem;  }

以上是自己的驗證,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美性69xxxx肥| 国产精品久久久久久久电影| 2020欧美日韩在线视频| 日本不卡免费高清视频| 国产精品久久久精品| 久久91超碰青草是什么| 亚洲二区中文字幕| 国产成人亚洲综合91| 国产一区二区激情| 久久成人av网站| 一本色道久久综合狠狠躁篇怎么玩| 日韩性生活视频| 欧美电影免费看| 国产一区二区三区网站| 久热精品视频在线观看一区| 久久夜色精品国产| 中文字幕日韩欧美精品在线观看| 欧美国产激情18| 欧美日韩免费区域视频在线观看| 2019日本中文字幕| 亚洲第一国产精品| 亚洲精品之草原avav久久| 日韩在线视频播放| 伊人久久五月天| 日韩电影中文字幕av| 亚洲小视频在线| 在线成人免费网站| 日韩欧美精品免费在线| 精品成人国产在线观看男人呻吟| 色av吧综合网| 91精品国产综合久久久久久蜜臀| 日韩精品在线免费| 久久深夜福利免费观看| 久久伊人免费视频| 91久久久亚洲精品| 国产在线不卡精品| 午夜精品一区二区三区在线| 成人午夜在线视频一区| 国产精品久久久久久久久久小说| 疯狂欧美牲乱大交777| zzijzzij亚洲日本成熟少妇| 日韩福利在线播放| 自拍偷拍亚洲欧美| 久久精品久久久久久国产 免费| 欧美成人一区二区三区电影| 欧美丝袜一区二区三区| 亚洲伊人一本大道中文字幕| 久久久爽爽爽美女图片| 色777狠狠综合秋免鲁丝| 国产成人精品电影久久久| 久久伊人精品视频| 97香蕉超级碰碰久久免费软件| 91精品国产亚洲| 亚洲天堂网在线观看| 国产精品永久免费| 九九热在线精品视频| 亚洲精品欧美极品| 亚洲乱亚洲乱妇无码| 亚洲精品电影网在线观看| 亚洲电影成人av99爱色| 欧美最猛性xxxxx免费| 亚洲人成在线播放| 国产成+人+综合+亚洲欧美丁香花| 欧美日韩在线视频一区二区| 国产精品久久久久久久7电影| 日韩在线观看免费高清| 九色成人免费视频| 久久久精品国产一区二区| 青青久久av北条麻妃海外网| 久久久精品中文字幕| 亚洲精品久久久久久久久久久久久| 欧洲精品久久久| 午夜精品久久久久久99热| 美女福利精品视频| 91精品国产综合久久久久久久久| 亚洲性生活视频在线观看| 色爱精品视频一区| 欧美激情网友自拍| 欧美天堂在线观看| 成人国产亚洲精品a区天堂华泰| 97国产在线视频| 日韩欧美亚洲成人| 久久久久久亚洲精品不卡| 奇米4444一区二区三区| 91精品国产91久久久久久久久| 久久天堂av综合合色| 国产精品日韩在线观看| 欧美日韩福利在线观看| 欧美精品激情视频| 日韩在线视频观看正片免费网站| 日韩中文第一页| 狠狠躁18三区二区一区| 国产精品极品美女粉嫩高清在线| 欧美日韩人人澡狠狠躁视频| 久久久久久国产精品| 欧美精品在线免费观看| 亚洲大胆人体视频| 91精品国产色综合久久不卡98口| 91久久久精品| 欧美夫妻性视频| 成人中心免费视频| 欧美激情精品久久久| 国产精品极品在线| 国产69精品久久久久99| 欧美黄色片在线观看| 国产精品av网站| 国产精品成人一区二区| 91精品国产综合久久男男| 亚洲国产精品va在线观看黑人| 亚洲成人久久一区| 亚洲r级在线观看| 欧美日韩国产成人在线| 欧美性一区二区三区| 欧美成人激情视频| 欧美日韩一区二区免费在线观看| 在线视频中文亚洲| 国内精品一区二区三区四区| 日本精品久久久久影院| 在线精品国产成人综合| 日韩精品欧美国产精品忘忧草| 日韩美女中文字幕| 亚洲美女在线视频| 色综合久综合久久综合久鬼88| 亚洲欧美精品一区| 亚洲韩国青草视频| 国产mv久久久| 精品福利樱桃av导航| 日韩精品免费在线观看| 69久久夜色精品国产69| 欧美日韩国产成人在线观看| 成人精品在线视频| 国产一区二区欧美日韩| 亚洲自拍偷拍一区| 九九九久久国产免费| 69av成年福利视频| 97色在线观看免费视频| 欧美精品在线极品| 久久艹在线视频| 国产一区二区丝袜| 91亚洲国产精品| 91久久久亚洲精品| 亚洲成人av中文字幕| 久久精品视频网站| 在线性视频日韩欧美| 国产精品欧美风情| 亚洲男人第一av网站| 欧美在线视频a| 欧美成人合集magnet| 亚洲精品女av网站| 色www亚洲国产张柏芝| 青青久久av北条麻妃黑人| 午夜精品久久久久久久男人的天堂| 日韩精品高清视频| 久久久久久亚洲精品中文字幕| 色婷婷综合成人| 亚洲国产成人精品久久久国产成人一区| 国产高清在线不卡| 91亚洲国产精品| 91社影院在线观看| 2019av中文字幕| 欧美成人在线免费视频| 亚洲男人av电影| 亚洲人在线视频| 国产精品成人国产乱一区|