国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

IOS實現上滑隱藏NvaigtionBar而下拉則顯示效果

2019-10-21 18:52:56
字體:
來源:轉載
供稿:網友

先看看原APP的效果

ios隱藏navigationbar,ios,navigationbar,隱藏navigationbar

實現過程

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

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

獲取tableViewcontentOffset 之后再根據具體需求來實現邏輯判斷

-(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 已經顯示的狀態,不再移動    return;   }   _isHide = NO;   //設置navigationbar 的frame 使他根據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) {//更改數值大小可以控制觸發 navigation bar 的滑動速度    _isHide = YES;   }else if(i < -10) {    _isHide = NO;   }  }  [self.navigationController setNavigationBarHidden:_isHide animated:YES]; }}

完成效果圖

ios隱藏navigationbar,ios,navigationbar,隱藏navigationbar

總結

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


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 富蕴县| 普兰店市| 玛曲县| 五峰| 保康县| 上虞市| 宕昌县| 菏泽市| 莎车县| 汽车| 白河县| 甘谷县| 三原县| 长武县| 黄龙县| 河源市| 准格尔旗| 西丰县| 会泽县| 盐亭县| 东台市| 普兰县| 永春县| 乐至县| 时尚| 泾源县| 阿瓦提县| 类乌齐县| 柞水县| 金乡县| 壶关县| 天门市| 彩票| 梓潼县| 磐安县| 石河子市| 延庆县| 梅河口市| 新泰市| 临泉县| 宜丰县|