最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Swift NavigationBar隱藏后的右滑手勢(shì)效果

 更新時(shí)間:2017年08月29日 09:26:35   作者:lv灬陳強(qiáng)  
這篇文章主要為大家詳細(xì)介紹了Swift NavigationBar隱藏后的右滑手勢(shì)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

需求

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

問(wèn)題

在處理這個(gè)需求的時(shí)候,我們一般會(huì)遇到兩個(gè)問(wèn)題:

右滑返回手勢(shì)

ios開(kāi)發(fā)中,使用push視圖,系統(tǒng)是有默認(rèn)的側(cè)滑返回上個(gè)視圖的功能。但是當(dāng)我們自定義導(dǎo)航欄時(shí),這個(gè)手勢(shì)的事件就沒(méi)有再觸發(fā),此時(shí)只要我們重新將代理設(shè)置為controller即可。

代碼示例:

在BaseViewController中添加如下的代碼

 //開(kāi)啟 push視圖 右滑手勢(shì)()
  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;
  }

}

右劃返回時(shí)導(dǎo)航欄的隱藏問(wèn)題

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)航欄的時(shí)候,務(wù)必使用animated為true.這樣在右劃返回視圖的時(shí)候才不會(huì)突兀,否則則會(huì)是下面的效果。剛開(kāi)始滑動(dòng),導(dǎo)航欄就全不見(jiàn)了。

這里寫(xiě)圖片描述

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Swift中排序算法的簡(jiǎn)單取舍詳解

    Swift中排序算法的簡(jiǎn)單取舍詳解

    對(duì)于排序算法, 通常簡(jiǎn)單的, 為大家所熟知的有, 選擇排序, 冒泡排序, 快速排序, 當(dāng)然還有哈希, 桶排序之類(lèi)的, 本文僅比較最為常見(jiàn)的選擇, 冒泡和快排,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2018-03-03
  • 如何使用Swift來(lái)實(shí)現(xiàn)一個(gè)命令行工具的方法

    如何使用Swift來(lái)實(shí)現(xiàn)一個(gè)命令行工具的方法

    這篇文章主要介紹了如何使用Swift來(lái)實(shí)現(xiàn)一個(gè)命令行工具,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Swift高階函數(shù)contains?allSatisfy?reversed?lexicographicallyPrecedes用法示例

    Swift高階函數(shù)contains?allSatisfy?reversed?lexicographicallyPr

    這篇文章主要為大家介紹了Swift高階函數(shù)contains?allSatisfy?reversed?lexicographicallyPrecedes用法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • swift學(xué)習(xí)文檔(筆記)

    swift學(xué)習(xí)文檔(筆記)

    這篇文章主要介紹了學(xué)習(xí)swift的筆記,swift最近也比較熱,需要的朋友可以參考下
    2014-09-09
  • Swift教程之類(lèi)的析構(gòu)詳解

    Swift教程之類(lèi)的析構(gòu)詳解

    這篇文章主要介紹了Swift教程之類(lèi)的析構(gòu)詳解,在一個(gè)類(lèi)的實(shí)例被釋放之前,析構(gòu)函數(shù)會(huì)被調(diào)用,本文即講解了析構(gòu)過(guò)程原理、析構(gòu)器操作等內(nèi)容,需要的朋友可以參考下
    2015-01-01
  • Swift心得筆記之控制流

    Swift心得筆記之控制流

    控制流(Control Flow)我不想這么譯的。。。我更想叫控制語(yǔ)句,但是想想,這么叫也沒(méi)錯(cuò),意指流程控制。大部分用法跟C類(lèi)似。
    2015-04-04
  • Swift利用CoreData實(shí)現(xiàn)一個(gè)通訊錄存儲(chǔ)詳解

    Swift利用CoreData實(shí)現(xiàn)一個(gè)通訊錄存儲(chǔ)詳解

    這篇文章主要給大家介紹了關(guān)于Swift利用CoreData實(shí)現(xiàn)一個(gè)通訊錄存儲(chǔ)的相關(guān)資料,本文是大家學(xué)習(xí)coreDate的基礎(chǔ)問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • 簡(jiǎn)陋的swift carthage copy-frameworks 輔助腳本代碼

    簡(jiǎn)陋的swift carthage copy-frameworks 輔助腳本代碼

    下面小編就為大家分享一篇簡(jiǎn)陋的swift carthage copy-frameworks 輔助腳本代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • Swift?并發(fā)修改Sendable?閉包實(shí)例詳解

    Swift?并發(fā)修改Sendable?閉包實(shí)例詳解

    這篇文章主要為大家介紹了Swift?并發(fā)修改Sendable?閉包實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • swift 3.0中實(shí)現(xiàn)字符串截取、比較的方法示例

    swift 3.0中實(shí)現(xiàn)字符串截取、比較的方法示例

    時(shí),為了使用現(xiàn)有的字符串生成一個(gè)新的字符串,我們可以使用截取字符串的方法實(shí)現(xiàn)。下面這篇文章主要給大家介紹了關(guān)于swift 3.0中實(shí)現(xiàn)字符串截取的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒。
    2017-10-10

最新評(píng)論

沅江市| 宕昌县| 贵州省| 中阳县| 临西县| 河池市| 同德县| 宁乡县| 汾西县| 宜都市| 洱源县| 白山市| 通河县| 龙陵县| 青川县| 那坡县| 布尔津县| 赤壁市| 治多县| 盐津县| 磐石市| 兴化市| 太原市| 贵州省| 邹平县| 白银市| 崇礼县| 蒙阴县| 大关县| 祁门县| 广州市| 屯门区| 保德县| 修水县| 昌吉市| 任丘市| 海宁市| 浠水县| 深圳市| 比如县| 原平市|