透明导航栏下的UITableView

时间:2018-08-27 15:45:24

标签: ios swift uitableview autolayout

我正在尝试使用透明的NavigationBar在UIViewController中布局表格视图。我已经在自定义UINavigationController上使用以下代码完成了此操作:

navigationBar.setBackgroundImage(UIImage(), for: .default)
navigationBar.shadowImage = UIImage()
navigationBar.isTranslucent = true

在情节提要板上,我将tableView的边缘固定到安全区域,但顶部固定在超级视图的顶部。

问题是我的tableView不是从屏幕顶部开始,而是好像导航栏仍然是不透明的。我检查了tableView的inset,所有的都是零。我在这里做错了什么?

谢谢

1 个答案:

答案 0 :(得分:1)

您可以尝试禁用滚动视图插图调整。

contentInsetAdjustmentBehavior可从iOS11获得,因此您可以像以下代码一样检查可用性:

if (@available(iOS 11.0, *)) 
{
    self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
} 
else 
{
    self.automaticallyAdjustsScrollViewInsets = NO;
}