Swift:Tableview在导航栏下滚动,但在状态栏之上?
我用下面的技巧隐藏了导航栏的阴影:
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default) self.navigationController?.navigationBar.shadowImage = UIImage()
我也有以下设置:
self.extendedLayoutIncludesOpaqueBars = true self.automaticallyAdjustsScrollViewInsets = true self.tabBarController?.tabBar.isHidden = true
在我的页面上,一切看起来都不错,除了当我滚动我的tableView
它按预期在导航栏下,但在状态栏上方:
我如何确保tableView
在导航栏和状态栏下滚动?
这将把UITableView放置在状态栏的下面。
self.edgesForExtendedLayout=UIRectEdgeNone; self.extendedLayoutIncludesOpaqueBars=NO; self.automaticallyAdjustsScrollViewInsets=NO;
你隐藏了导航栏的默认背景,所以这是预期的。 这意味着你正在自己创build导航栏中的绿色背景。 您必须手动扩展它以涵盖默认背景将会执行的状态栏和导航栏。
或者使用绿色图像而不是透明的图像。
您可以尝试在UIEdgeInsetMake和其滚动视图下的表视图
tableView.contentInset = UIEdgeInsetsMake(20.0, 0.0, 0.0, 0.0) tableView.scrollIndicatorInsets = UIEdgeInsetsMake(20.0, 0.0, 0.0, 0.0)