iOS---實現簡書和知乎的上滑隱藏導航欄下拉顯示導航欄效果


因為自己用簡書和知乎比較多,所以對其導航欄的效果比較好奇,自己私下里找資料實現了一下。這個效果的關鍵點在於下方可供滑動的內容的便宜距離inset的改變,以及滑動的scrollview代理的執行,廢話不多說,上代碼

首先是tableview的便宜距離inset的設置
    if([self respondsToSelector:@selector(automaticallyAdjustsScrollViewInsets)])
    {
        self.automaticallyAdjustsScrollViewInsets = NO;
        UIEdgeInsets insets = self.tableView.contentInset;
        insets.top =self.navigationController.navigationBar.bounds.size.height;
        self.tableView.contentInset =insets;
        self.tableView.scrollIndicatorInsets = insets;
    }
    self.tableView.frame =CGRectMake(0, 20, self.view.bounds.size.width, self.view.bounds.size.height);

 上述代碼的作用是在執行的時候自動改變tableview的便宜距離的相關設置,下一步在滑動的時候隱藏導航欄

-(void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
{
    if(velocity.y>0)
    {
        self.navigationController.navigationBar.hidden = YES;
    }
    else
    {
        self.navigationController.navigationBar.hidden = NO;
    }
}

 由此便實現了簡書和知乎的導航欄顯示和隱藏的效果,各位可以自行添加動畫。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM