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

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

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

需求

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

問題

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

右滑返回手勢

ios開發(fā)中,使用push視圖,系統(tǒng)是有默認的側(cè)滑返回上個視圖的功能。但是當我們自定義導航欄時,這個手勢的事件就沒有再觸發(fā),此時只要我們重新將代理設置為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.這樣在右劃返回視圖的時候才不會突兀,否則則會是下面的效果。剛開始滑動,導航欄就全不見了。

這里寫圖片描述

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

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

相關文檔推薦

這篇文章主要給大家介紹了關于RxSwift學習教程之類型對象Subject的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著
這篇文章主要給大家介紹了關于RxSwift學習教程之Observable的相關資料,文中詳細的給大家介紹了關于新建Observable、訂閱Observable和取消訂閱并消除內(nèi)存泄漏等相關的內(nèi)容,需要的朋友可以
RxSwift是Swift函數(shù)響應式編程的一個開源庫,由Github的ReactiveX組織開發(fā),維護。下面這篇文章主要給大家介紹了關于RxSwift學習之基礎篇的相關資料,文中通過示例代碼介紹的非常詳細,需
這篇文章主要為大家詳細介紹了Swift4.0 Array數(shù)組的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
CATransition動畫主要在過渡時使用,比如兩個頁面層級改變的時候添加一個轉(zhuǎn)場效果。CATransition分為兩類,一類是公開的動畫效果,一類是非公開的動畫效果。這篇文章主要給大家介紹了
近日,iPhone X的發(fā)布在人們?nèi)罕娨鹆撕艽蟮霓Z動,下面這篇文章主要給大家介紹了關于利用Swift如何判斷iPhone X機型的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友們下面
主站蜘蛛池模板: 中文字幕精品一区久久久久 | 国产在线第一页 | 成人激情免费视频 | 国产精品久久久久久久久久东京 | 青娱乐国产 | 久久99精品久久久久久噜噜 | 免费午夜视频 | 五月精品视频 | 中文字幕伊人 | 中文字幕精品一区二区三区精品 | 久久综合av| 在线免费观看黄色 | 九九热这里只有精品在线观看 | 成人免费在线视频 | 欧美在线一区视频 | 久久99精品视频 | 久久久国产一区二区三区 | 亚洲在线电影 | 亚洲视频在线一区 | 国产日韩精品一区 | 成人午夜网站 | 久久精品二区 | 国产成人在线免费 | 欧美精品在线一区 | 亚洲视屏| 日本在线精品视频 | 久久大全 | 久久久久久亚洲精品 | 欧美精品一区二区在线观看 | 色婷婷亚洲一区二区三区 | 蜜桃视频在线观看免费视频网站www | 国产乡下妇女做爰 | 日韩日韩日韩日韩日韩日韩日韩 | 国产日产欧产精品精品推荐蛮挑 | 国产精品日产欧美久久久久 | 欧美亚洲国产精品 | 一级毛片视频在线 | 五月婷婷中文 | 国产精品视频500部 a久久 | 久草网站 | 免费视频一区二区三区在线观看 |