国产探花免费观看_亚洲丰满少妇自慰呻吟_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開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丽江市| 汝州市| 东乡族自治县| 屯昌县| 五峰| 德钦县| 苍梧县| 延长县| 通道| 岚皋县| 鲁甸县| 确山县| 屯昌县| 武义县| 库伦旗| 湟源县| 云霄县| 伊通| 文登市| 三江| 喀喇沁旗| 资兴市| 桃园县| 抚顺县| 商城县| 额尔古纳市| 永顺县| 阳谷县| 湖北省| 丰城市| 永定县| 瓦房店市| 乌什县| 荔浦县| 都昌县| 迭部县| 钦州市| 泰州市| 政和县| 祁阳县| 随州市|