iOS---實(shí)現(xiàn)簡書和知乎的上滑隱藏導(dǎo)航欄下拉顯示導(dǎo)航欄效果

因?yàn)樽约河煤啎椭醣容^多,所以對其導(dǎo)航欄的效果比較好奇,自己私下里找資料實(shí)現(xiàn)了一下。這個(gè)效果的關(guān)鍵點(diǎn)在于下方可供滑動的內(nèi)容的便宜距離inset的改變,以及滑動的scrollview代理的執(zhí)行,廢話不多說,上代碼

首先是tableview的便宜距離inset的設(shè)置

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);


上述代碼的作用是在執(zhí)行的時(shí)候自動改變tableview的便宜距離的相關(guān)設(shè)置,下一步在滑動的時(shí)候隱藏導(dǎo)航欄

-(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;

}

}

由此便實(shí)現(xiàn)了簡書和知乎的導(dǎo)航欄顯示和隱藏的效果,各位可以自行添加動畫。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容