试图做到这一点,以便当用户滚动我的应用程序时,导航栏会消失,但当他们向上滚动时,它会重新出现。
我有以下代码:
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
self.latestOffset = scrollView.contentOffset.y;
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
if(self.latestOffset > scrollView.contentOffset.y) {
[self.navigationController setNavigationBarHidden:NO animated:YES];
}
if (self.latestOffset < scrollView.contentOffset.y) {
[self.navigationController setNavigationBarHidden:YES animated:YES];
}
}
遇到一个问题,导航栏有时会覆盖我的 ScrollView ,还有一个问题,如果你没有向下滚动足够远,事情似乎就会出错。
最佳答案
iOS 8 与导航栏有一些新的交互,包括“hidesBarsOnSwipe”。
您可以设置该属性,操作系统会自动为您管理它,
navigationBar.hidesBarsOnSwipe = YES;
关于ios - 在滚动条上隐藏 UINavigationBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31730427/