在页面即将消失时显示NavigationBar,让下一个页面显示时NavigationBar显示状态:
-(void)viewDidDisappear:(BOOL)animated{
[super viewDidDisappear:animated];
self.navigationController.navigationBarHidden = NO;
}
实现ScrollView的代理:
-(void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset{
[self.navigationController setNavigationBarHidden:velocity.y>0 animated:YES];
}
现在运行一下如果上滑的时候顶部没有变黑就OK了,如果NavigationBar 隐藏后顶部变黑,加上下面的代码,
在viewDidLoad中添加:
if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
self.edgesForExtendedLayout = UIRectEdgeNone;
网友评论