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

IOS實現(xiàn)上滑隱藏NvaigtionBar而下拉則顯示效果

 更新時間:2016年09月01日 14:42:37   投稿:daisy  
這篇文章給大家介紹了如何實現(xiàn)APP上滑時隱藏navigationBar而下拉則又會顯示,雖然也是隱藏但是效果和其他完全不一樣,因為以前沒做過所以試著去實現(xiàn)一下,現(xiàn)在分享給大家,有需要的可以參考借鑒。

先看看原APP的效果

實現(xiàn)過程

主要是給view中的滾動視圖添加一個KVO來監(jiān)視它的滑動,再根據(jù)它的offset來做一下操作,下面是代碼

[myTableView addObserver:self forKeyPath:@"contentOffset" options:NSKeyValueObservingOptionOld|NSKeyValueObservingOptionNew context:nil];

獲取tableViewcontentOffset 之后再根據(jù)具體需求來實現(xiàn)邏輯判斷

-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSString *,id> *)change context:(void *)context {
 if ([object isEqual:myTableView] && [keyPath isEqualToString:@"contentOffset"]) {
  //獲取新值舊值
  CGFloat newY = [change[@"new"] CGPointValue].y;
  CGFloat oldY = [change[@"old"] CGPointValue].y;
  float i = newY - oldY;//下拉是新值小于舊值的,所以i<0 是下拉 i>0 是上滑
   NSLog(@"%f",myTableView.contentOffset.y);
  if (myTableView.contentOffset.y > -64 && myTableView.contentOffset.y <= 24) {//邊界條件,此處不精確
   if (i <= 0 && _isHide == NO && self.navigationController.navigationBar.frame.origin.y == 20){
    //下拉+bar 已經(jīng)顯示的狀態(tài),不再移動
    return;
   }
   _isHide = NO;
   //設(shè)置navigationbar 的frame 使他根據(jù)tableView來滑動
   self.navigationController.navigationBar.frame = CGRectMake(0, -44 - myTableView.contentOffset.y, self.view.bounds.size.width, 44);
   //控制透明度
   self.navigationController.navigationBar.alpha = -myTableView.contentOffset.y/64;
  }else if (myTableView.contentOffset.y > 24) {
   if (i > 10) {//更改數(shù)值大小可以控制觸發(fā) navigation bar 的滑動速度
    _isHide = YES;
   }else if(i < -10) {
    _isHide = NO;
   }
  }
  [self.navigationController setNavigationBarHidden:_isHide animated:YES];
 }
}

完成效果圖

總結(jié)

其實這個效果實現(xiàn)起來確實沒有什么難度,寫這個主要是給大家看一下我的實現(xiàn)過程與思路,希望可以幫到大家。如果有疑問可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • 分享一些iOS開發(fā)實用的小技巧

    分享一些iOS開發(fā)實用的小技巧

    這篇文章主要給大家分享了一些iOS開發(fā)實用的小技巧,這些小技巧在大家開發(fā)iOS的時候還是相當(dāng)實用,有需要的朋友們下面來一起看看吧。
    2016-09-09
  • iOS如何為導(dǎo)航欄添加播放動畫

    iOS如何為導(dǎo)航欄添加播放動畫

    這篇文章主要為大家詳細介紹了iOS如何為導(dǎo)航欄添加播放動畫的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • iOS中正則表達式的運用示例代碼

    iOS中正則表達式的運用示例代碼

    正則表達式(廣為所知的“regex”)是一個字符串或一個字符序列來說明一種模式,把它作為一個搜索字符串-非常強大!下面這篇文章主要給大家介紹了關(guān)于iOS中正則表達式運用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。
    2017-09-09
  • iOS應(yīng)用內(nèi)實現(xiàn)跳轉(zhuǎn)到手機淘寶天貓的方法

    iOS應(yīng)用內(nèi)實現(xiàn)跳轉(zhuǎn)到手機淘寶天貓的方法

    這篇文章主要給大家介紹了關(guān)于iOS應(yīng)用內(nèi)如何實現(xiàn)跳轉(zhuǎn)到手機淘寶天貓的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • objective-c中生成隨機數(shù)的方法

    objective-c中生成隨機數(shù)的方法

    這篇文章主要介紹了objective-c中生成隨機數(shù)的方法,比較實用的功能,需要的朋友可以參考下
    2014-08-08
  • iOS利用MJRefresh實現(xiàn)自定義刷新動畫效果

    iOS利用MJRefresh實現(xiàn)自定義刷新動畫效果

    本文主要介紹iOS 利用MJRefresh實現(xiàn)自定義動畫的上拉刷新下拉加載效果,要想實現(xiàn)此功能,首先得有一套load的圖片數(shù)組。接下來通過本文給大家詳解介紹實現(xiàn)過程
    2017-02-02
  • iOS通過多種方式創(chuàng)建控制器

    iOS通過多種方式創(chuàng)建控制器

    這篇文章主要為大家詳細介紹了iOS通過多種方式創(chuàng)建控制器的相關(guān)方法,感興趣的小伙伴們可以參考一下
    2016-04-04
  • iOS中CPU線程調(diào)試的高級技巧分享

    iOS中CPU線程調(diào)試的高級技巧分享

    這篇文章主要給大家介紹了關(guān)于iOS中CPU線程調(diào)試的高級技巧,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • iOS開發(fā)實現(xiàn)搜索框(UISearchController)

    iOS開發(fā)實現(xiàn)搜索框(UISearchController)

    這篇文章主要為大家詳細介紹了iOS開發(fā)實現(xiàn)搜索框,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • 詳解IOS中Tool Bar切換視圖方法

    詳解IOS中Tool Bar切換視圖方法

    這篇文章主要介紹了詳解IOS中Tool Bar切換視圖方法以及實例代碼分析,需要的朋友學(xué)習(xí)一下吧。
    2017-12-12

最新評論

凤凰县| 射洪县| 舟山市| 崇州市| 铜梁县| 晴隆县| 苍溪县| 利辛县| 徐州市| 沽源县| 乾安县| 永善县| 长寿区| 东阳市| 大名县| 眉山市| 阜宁县| 安化县| 阳原县| 湘乡市| 东乡族自治县| 阿鲁科尔沁旗| 清流县| 搜索| 松江区| 尼勒克县| 高密市| 若尔盖县| 东城区| 日喀则市| 白城市| 嘉善县| 鄂州市| 区。| 新乐市| 出国| 武宁县| 马公市| 沈阳市| 星子县| 武宁县|