久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

Swift NavigationBar隱藏后的右滑手勢效果

這篇文章主要為大家詳細介紹了Swift NavigationBar隱藏后的右滑手勢效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下

需求

我們在開發中經常遇見這樣的需求,就是A視圖沒有導航,pushB視圖后導航欄。然后要求可以使用iOS的系統側滑返回功能。類似如下的功能:

問題

在處理這個需求的時候,我們一般會遇到兩個問題:

右滑返回手勢

ios開發中,使用push視圖,系統是有默認的側滑返回上個視圖的功能。但是當我們自定義導航欄時,這個手勢的事件就沒有再觸發,此時只要我們重新將代理設置為controller即可。

代碼示例:

在BaseViewController中添加如下的代碼


 //開啟 push視圖 右滑手勢()
  fileprivate func openSwipe(){
  if(self.navigationController != nil){
    self.navigationController!.interactivePopGestureRecognizer!.delegate = self;
  }

  }

  func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {

    if self.navigationController?.viewControllers.count == 1{
      return false;
    }
    return true;
  }

或者在BaseNavigationController中添加如下代碼:


extension BaseNavigationController:UIGestureRecognizerDelegate{

  override func viewDidLoad() {
    super.viewDidLoad()
    self.interactivePopGestureRecognizer?.delegate = self
  }
  func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
    if self.navigationController?.viewControllers.count == 1{
      return false;
    }
    return true;
  }

}

右劃返回時導航欄的隱藏問題

oc代碼:


-(void)viewWillAppear:(BOOL)animated{
    [self.navigationController setNavigationBarHidden:YES animated:true];
}

-(void)viewWillDisappear:(BOOL)animated{
 [self.navigationController setNavigationBarHidden:NO animated:false];
}

Swift代碼:


 override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(false);
    self.navigationController?.setNavigationBarHidden(true, animated: true)


  }
  override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated);
    self.navigationController?.navigationBar.isHidden = false;
  }

注意點

我們隱藏導航欄的時候,務必使用animated為true.這樣在右劃返回視圖的時候才不會突兀,否則則會是下面的效果。剛開始滑動,導航欄就全不見了。

這里寫圖片描述

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

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

這篇文章主要給大家介紹了關于RxSwift學習教程之類型對象Subject的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著
這篇文章主要給大家介紹了關于RxSwift學習教程之Observable的相關資料,文中詳細的給大家介紹了關于新建Observable、訂閱Observable和取消訂閱并消除內存泄漏等相關的內容,需要的朋友可以
RxSwift是Swift函數響應式編程的一個開源庫,由Github的ReactiveX組織開發,維護。下面這篇文章主要給大家介紹了關于RxSwift學習之基礎篇的相關資料,文中通過示例代碼介紹的非常詳細,需
這篇文章主要為大家詳細介紹了Swift4.0 Array數組的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
CATransition動畫主要在過渡時使用,比如兩個頁面層級改變的時候添加一個轉場效果。CATransition分為兩類,一類是公開的動畫效果,一類是非公開的動畫效果。這篇文章主要給大家介紹了
近日,iPhone X的發布在人們群眾引起了很大的轟動,下面這篇文章主要給大家介紹了關于利用Swift如何判斷iPhone X機型的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友們下面
主站蜘蛛池模板: 国产欧美精品一区二区三区 | 国产精品久久久久久久久久久久 | 黄色片网站在线观看 | 亚洲一区二区三区免费在线观看 | 日本国产欧美 | 成人午夜在线视频 | 欲色av | 欧美a在线| 精彩视频一区二区三区 | 日韩一区二区精品 | 天啪| 欧美视频在线看 | 午夜精品久久久久久久久久久久久 | 另类视频在线 | www亚洲精品| 97久久精品午夜一区二区 | 久久中文字幕一区 | 欧美一级高清片 | 欧美日韩亚 | 国产精品成人一区二区三区夜夜夜 | 九九九久久国产免费 | 国产在线区| 中文字幕在线观 | 久久精品久久久 | 欧美网站一区二区 | 国产一区高清 | 国产精品自产av一区二区三区 | 国产精品久久久久一区二区 | 国产欧美日韩一区 | 99精品欧美一区二区三区综合在线 | 伊人久久大香线 | 国产不卡一区在线观看 | 国产一区二区三区高清 | 美女一级黄| 日韩欧美在线观看 | 91精品国产综合久久香蕉922 | 欧美亚洲国产精品 | 伊色综合久久之综合久久 | 瑟瑟视频在线看 | 成人福利视频网站 | 国产精品一区在线 |