iOS 實現ScrollView 上滑隱藏Navigationbar 下滑顯示

omor7359 8年前發布 | 32K 次閱讀 iOS開發 移動開發

我司產品汪突然喜歡上了 知乎 和 簡書 的的那種上滑加載更多時隱藏 NavigationBar ,下拉時顯示的那種效果。那些閱讀類APP需要 沉浸式體驗 隱藏導航欄無可厚非,我就納悶一個P2P類軟件你隱藏個毛線!廢話少說,技術很好實現幾行代碼的事。

在包含 TableView 或者 ScrollView 的.m文件中加入以下代碼:

在頁面即將消失時顯示NavigationBar,讓下一個頁面顯示時 NavigationBar 顯示狀態:

//滑動隱藏導航欄 LiXingLe
-(void)viewWillDisappear:(BOOL)animated{
    [super viewWillDisappear:animated];

    self.navigationController.navigationBarHidden = NO;

}

實現 ScrollView 的代理:

#pragma mark 滑動隱藏導航欄
//滑動隱藏導航欄 LiXingLe

-(void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset{

    if(velocity.y>0)

    {

        [self.navigationController setNavigationBarHidden:YES animated:YES];

    }

    else

    {

        [self.navigationController setNavigationBarHidden:NO animated:YES];

    }

}

現在運行一下如果上滑的時候頂部沒有變黑就OK了,如果NavigationBar 隱藏后頂部變黑,加上下面的代碼, 在 viewDidLoad 中添加:

//滑動隱藏導航欄 LiXingLe

if ([self respondsToSelector:@selector(edgesForExtendedLayout)])

      self.edgesForExtendedLayout = UIRectEdgeNone;

微信公眾賬號: lecoding 同步更新,你也可以掃描下方二維碼關注我們。

來自: http://www.lvesli.com/?p=405

 本文由用戶 omor7359 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!