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

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

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

需求

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

問題

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

右滑返回手勢

ios開發(fā)中,使用push視圖,系統(tǒng)是有默認(rèn)的側(cè)滑返回上個視圖的功能。但是當(dāng)我們自定義導(dǎo)航欄時,這個手勢的事件就沒有再觸發(fā),此時只要我們重新將代理設(shè)置為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;
  }

}

右劃返回時導(dǎo)航欄的隱藏問題

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;
  }

注意點(diǎn)

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

這里寫圖片描述

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

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

相關(guān)文檔推薦

這篇文章主要給大家介紹了關(guān)于RxSwift學(xué)習(xí)教程之類型對象Subject的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著
這篇文章主要給大家介紹了關(guān)于RxSwift學(xué)習(xí)教程之Observable的相關(guān)資料,文中詳細(xì)的給大家介紹了關(guān)于新建Observable、訂閱Observable和取消訂閱并消除內(nèi)存泄漏等相關(guān)的內(nèi)容,需要的朋友可以
RxSwift是Swift函數(shù)響應(yīng)式編程的一個開源庫,由Github的ReactiveX組織開發(fā),維護(hù)。下面這篇文章主要給大家介紹了關(guān)于RxSwift學(xué)習(xí)之基礎(chǔ)篇的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需
這篇文章主要為大家詳細(xì)介紹了Swift4.0 Array數(shù)組的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
CATransition動畫主要在過渡時使用,比如兩個頁面層級改變的時候添加一個轉(zhuǎn)場效果。CATransition分為兩類,一類是公開的動畫效果,一類是非公開的動畫效果。這篇文章主要給大家介紹了
近日,iPhone X的發(fā)布在人們?nèi)罕娨鹆撕艽蟮霓Z動,下面這篇文章主要給大家介紹了關(guān)于利用Swift如何判斷iPhone X機(jī)型的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面
主站蜘蛛池模板: 国产精品视频久久久 | 国产精品美女久久久久aⅴ国产馆 | 黄色大片免费网站 | 久久最新 | 亚洲成人精品视频 | 免费一级片 | 精品国产欧美 | 黄色一级毛片免费看 | 色综合久久天天综合网 | 毛片久久久 | 国产乱码精品一区二区三区忘忧草 | 成人影院在线观看 | 老熟女毛片 | 日日夜夜精品视频 | 欧美精品在线一区 | av入口 | 日韩欧美中文在线 | 91视视频在线观看入口直接观看 | 成人久久久| 精品香蕉一区二区三区 | 嫩草影院网址 | 亚洲一区二区在线 | 国产精品麻 | 亚洲精品视频在线看 | eeuss国产一区二区三区四区 | 91在线精品一区二区 | 毛片一区二区 | 久久精品国产亚洲 | 精品一区二区三区在线视频 | 欧美日韩一区精品 | 亚洲入口| 久久久久久国产 | 日韩欧美综合 | 亚洲精品888| 嫩草视频入口 | av网站免费在线观看 | 99精品视频在线观看 | 逼逼视频| 国产一区二区在线免费观看 | 国产粉嫩尤物极品99综合精品 | 日韩中文字幕免费在线观看 |