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

首頁 > 系統 > iOS > 正文

iOS左滑手勢失效的解決方法

2020-07-26 02:40:24
字體:
來源:轉載
供稿:網友

iOS7之后,蘋果優化了一個小功能,就是對于UINavagationController堆棧里的UIViewController,只要輕輕在視圖控制器的左邊緣右滑一下,該視圖控制器就會pop出棧(前提當然是對于非根視圖控制器而言)。實現方法很簡單,一句話搞定:

self.navigationController.interactivePopGestureRecognizer.enabled = YES;

事實上對于一個視圖控制器而言,該屬性的默認值即為YES,因此不設置也能實現右滑pop的功能。

然而這個功能很有局限性,因為它不允許當前視圖控制器自定義了leftBarButtonItem,一旦自定義,右滑功能就會失效。這里有一個方法:

self.navigationController.interactivePopGestureRecognizer.delegate = nil;

設置代理為nil之后即便自定義了leftBarButtonItem也可以右滑pop。

或者,把手勢的許可打開 也可:

self.navigationController.interactivePopGestureRecognizer.enabled = YES ;

事實上如果自定義了leftBarButtonItem,常用的做法是重新設置代理:

- (void)viewDidAppear:(BOOL)animated{   self.navigationController.interactivePopGestureRecognizer.delegate = (id)self;}

然后實現手勢協議即可:

#pragma mark - UIGestureRecognizerDelegate- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer*)gestureRecognizer{  //判斷是否為rootViewController  if (self.navigationController && self.navigationController.viewControllers.count == 1) {    return NO;  }  return YES;}

不過呢,如果我們自定義的返回button只是文字或圖片的話,這樣設置就可以,不會失效

  UIBarButtonItem *item = [[UIBarButtonItem alloc]init];  item.title = @"";  self.navigationItem.backBarButtonItem = item;

如果是要自定義view的當作button的話,就要用leftBarButtonItem設置,并用上述講的防止手勢失效的方案.

有朋友提出以上方式在多次滑動之后會導致界面假死,這里再給出一種解決方案:

在所有除一級頁面之外的頁面的viewDidAppear和viewWillDisappear中加入以下代碼:

- (void)viewWillDisappear:(BOOL)animated {  [super viewWillDisappear:animated];  //代理置空,否則會閃退  if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {    self.navigationController.interactivePopGestureRecognizer.delegate = nil;  }}- (void)viewDidAppear:(BOOL)animated {   [super viewDidAppear:animated];   //開啟iOS7的滑動返回效果   if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {     //只有在二級頁面生效     if ([self.navigationController.viewControllers count] == 2) {       self.navigationController.interactivePopGestureRecognizer.delegate = self;     }   } } 

在UINavigationController的delegate中實現以下方法:

- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated { //開啟滑動手勢  if ([navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {    navigationController.interactivePopGestureRecognizer.enabled = YES;  }} 

在pushviewcontroller之前加入以下代碼:

//在切換界面的過程中禁止滑動手勢,避免界面卡死if ([_currentNav respondsToSelector:@selector(interactivePopGestureRecognizer)]) {  _currentNav.interactivePopGestureRecognizer.enabled = NO;}[_currentNav pushViewController:viewController animated:YES];

即可在實現滑動返回的同時,避免界面卡死的問題。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产亚洲免费的视频看| 欧美日韩精品在线| 欧美性猛交丰臀xxxxx网站| 午夜精品理论片| 亚洲欧洲xxxx| 亚洲一区二区三区777| 国产91精品久久久久久久| 最近2019中文字幕mv免费看| 国产亚洲精品va在线观看| 久久精品99久久久久久久久| 中文字幕亚洲自拍| 法国裸体一区二区| 欧美在线亚洲在线| 中文字幕视频在线免费欧美日韩综合在线看| 国产精品一二区| 精品成人69xx.xyz| 性夜试看影院91社区| 欧美激情一区二区久久久| 亚洲性日韩精品一区二区| 日韩美女在线观看| 久久精品欧美视频| 国产精品色午夜在线观看| 成人免费观看49www在线观看| 国产精品久久久久7777婷婷| 欧美最顶级的aⅴ艳星| 精品福利在线视频| 97高清免费视频| 亚洲桃花岛网站| 国产精品爽黄69| 91国产精品视频在线| 精品人伦一区二区三区蜜桃免费| 国产成人精品优优av| 日韩亚洲精品电影| 日韩av在线免费播放| 青青草原一区二区| 欧美成aaa人片在线观看蜜臀| 日韩视频欧美视频| 国产区亚洲区欧美区| 久久久噜噜噜久噜久久| 亚洲精品一区二区网址| 亚洲欧美国产精品久久久久久久| 亚洲精品国产精品国产自| 国产亚洲精品美女| 大量国产精品视频| 日本一区二区不卡| 懂色av中文一区二区三区天美| 国内精品国产三级国产在线专| 亚洲国产成人久久综合一区| 久久这里只有精品视频首页| 91美女片黄在线观| 成人免费午夜电影| 亚洲图片制服诱惑| 日韩欧美在线网址| 欧美夫妻性生活xx| 国产精品三级网站| 不卡伊人av在线播放| 欧美激情乱人伦| 久久99精品视频一区97| 日韩av免费看网站| 国内精品久久久久久久久| 久久久久久国产精品久久| 欧美成人性色生活仑片| 午夜精品一区二区三区在线| 久久免费视频观看| 欧美日韩亚洲一区二| 欧美精品少妇videofree| 亚洲欧美日韩在线高清直播| 日韩av影院在线观看| 日本一区二区不卡| 日韩精品在线看| 91精品国产乱码久久久久久久久| 国产成人免费av电影| 久久久久久美女| 亚洲成人av片| 亚洲欧洲美洲在线综合| 超在线视频97| 亚洲一区av在线播放| 日韩国产激情在线| 一区二区亚洲欧洲国产日韩| 精品久久久国产精品999| 成人免费黄色网| 精品视频在线播放免| 一区二区三区美女xx视频| 91视频国产高清| 亚洲成av人片在线观看香蕉| 亚洲国产精品美女| 51色欧美片视频在线观看| 丝袜美腿精品国产二区| 91超碰caoporn97人人| 亚洲女人天堂av| 国产亚洲激情在线| 欧美大肥婆大肥bbbbb| 伊人久久久久久久久久久| 少妇久久久久久| 这里只有精品在线播放| 亚洲最大福利视频网站| 精品女同一区二区三区在线播放| 亚洲天堂网站在线观看视频| 亚洲国产天堂久久综合网| 亚洲电影免费在线观看| 欧美在线亚洲一区| 精品久久久久久中文字幕大豆网| 欧美国产日本高清在线| 日韩av电影在线网| 国产成人精品一区二区在线| 亚洲系列中文字幕| 成人xxxxx| 精品女同一区二区三区在线播放| 青青青国产精品一区二区| 国产精品影片在线观看| 日韩av中文字幕在线免费观看| 欧美亚洲成人网| 毛片精品免费在线观看| 国产精品日韩欧美| 亚洲精品一区二三区不卡| 国产精品免费视频久久久| 国产欧美亚洲精品| 日韩精品极品毛片系列视频| 美女国内精品自产拍在线播放| 亚洲第一精品福利| 日本精品久久久| 中文字幕视频一区二区在线有码| 亚洲少妇中文在线| 欧美激情精品久久久久久大尺度| 亚洲国产天堂网精品网站| 91中文字幕一区| 国产精品日韩欧美综合| xxxx性欧美| 亚洲国产精品久久精品怡红院| 国产女精品视频网站免费| 欧美日韩国产区| 欧美高清一级大片| 中文字幕精品国产| 欧美激情中文字幕乱码免费| 精品久久久999| 国产亚洲精品久久久久动| 中文字幕精品一区二区精品| 亚洲国产天堂久久综合| 日韩专区在线播放| 久久免费视频在线| 国产精品久久久久aaaa九色| 国产精品网红直播| 91久久国产综合久久91精品网站| 欧美性xxxx| 亚洲免费视频网站| 色无极影院亚洲| 国产视频自拍一区| 欧美性猛交xxxx久久久| 夜夜嗨av色综合久久久综合网| 欧美肥臀大乳一区二区免费视频| 26uuu另类亚洲欧美日本一| 国产精品视频1区| 日韩精品久久久久| 亚洲国产精品久久久久久| 国产婷婷97碰碰久久人人蜜臀| 欧洲亚洲免费在线| 久久人91精品久久久久久不卡| 国产三级精品网站| 欧美理论在线观看| 亚洲视频欧美视频| 亚洲无限av看| 久久久久久久国产| 成人黄色av免费在线观看| 欧美日韩国产专区|