具有以下结构:UIViewController
(VC) 有一些 UIViews
( View )在屏幕的上半部分和 UITableView
(tableView) 在屏幕的下半部分。在 VC 的 View 中,所有这些都在同一层次结构级别上。
VC 由 UINavigationController
管理.
自动布局已关闭。使用自动调整大小的蒙版。dataSource
和 delegate
方法已设置并且工作正常。
我想实现的:
向上滚动时隐藏导航栏,向下滚动后显示。
我做了什么:
由于我的项目仅支持 iOS8+,只需设置:
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
self.navigationController.hidesBarsOnSwipe = YES;
}
应该没事。
我有什么:
最佳答案
花了一些时间,发现调整 tableView 的大小以使其与 vc 的 View 匹配可以解决问题。
编辑:
hidesBarsOnTap
至YES
并尝试点击导航区域(即当它在滑动后仍然隐藏时) - 导航栏将在此之后显示。如果您在该区域有任何 UI 元素,那将非常烦人。 关于ios - hidesBarsOnSwipe 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32422582/