方法一 根據(jù)滾動速度顯示或隱藏效果
-
(void)scrollViewDidScroll:(UIScrollView *)scrollView{
UIPanGestureRecognizer *pan = scrollView.panGestureRecognizer;
//獲取到拖拽的速度 >0 向下拖動 <0 向上拖動
CGFloat velocity = [pan velocityInView:scrollView].y;[UIView animateWithDuration:1.5f animations:^{
//向上拖動,隱藏導航欄
if (velocity < -5) {
self.rcsPersonDetailInfoViewControllerNavigationBarView.hidden = YES;
//向下拖動,顯示導航欄
}else if (velocity > 5){
self.rcsPersonDetailInfoViewControllerNavigationBarView.hidden = NO;
}else if(velocity == 0){}
} completion:^(BOOL finished) {
}];
}
方法二 根據(jù)滾動偏移量
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
//獲取偏移
CGFloat offsetY = scrollView.contentOffset.y + self.rcsPersonInfoTableView.contentInset.top;
CGFloat panTranslationY = [scrollView.panGestureRecognizer translationInView:self.rcsPersonInfoTableView].y;
if (offsetY > 200) {
if (panTranslationY > 0) {
//下滑趨勢,顯示
[UIView animateWithDuration:1.5f animations:^{
self.rcsPersonDetailInfoViewControllerNavigationBarView.hidden = NO;
}];
//向上拖動,隱藏導航欄
}else if(panTranslationY < 0){[UIView animateWithDuration:1.5f animations:^{ self.rcsPersonDetailInfoViewControllerNavigationBarView.hidden = YES; }]; }
}else{
self.rcsPersonDetailInfoViewControllerNavigationBarView.hidden = NO;
}
}