关键代码如下:
@property (nonatomic, assign)CGFloat lastPosition;
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (self.collectionView==scrollView&&_disappear==NO) {
CGFloat currentPostion = scrollView.contentOffset.y;
CGRect bounds = scrollView.bounds;
CGSize size = scrollView.contentSize;
UIEdgeInsets inset = scrollView.contentInset;
CGFloat currentBottomOffset = currentPostion + bounds.size.height - inset.bottom;
CGFloat maxBottomOffset = size.height;
CGFloat minBottomOffset = -64 + bounds.size.height - inset.bottom;
//非上拉刷新、底部刷新状态
if (minBottomOffset < currentBottomOffset && currentBottomOffset<=maxBottomOffset) {
if (currentPostion - _lastPosition > 0 ) {
NSLog(@"向上滚动 隐藏导航栏");
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
[self.navigationController setNavigationBarHidden:YES animated:YES];
}else if ( currentPostion - _lastPosition < 0 ){
NSLog(@"向下滚动 显示导航栏");
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationFade];
[self.navigationController setNavigationBarHidden:NO animated:YES];
}
_lastPosition=currentPostion;
}
}
}