如何在表视图和导航栏之间添加视图?

时间:2016-11-28 21:47:27

标签: ios swift uitableview navigationbar

所以我想要实现的是我想在tableview和导航栏之间添加一个视图。层次结构如下: 顶部导航栏-betweenView-的tableView - 底部。

我尝试了类似这样的东西,但是在视图导航栏下面没有这个,并且tableView上面有一个奇怪的空白区域。任何人都有任何想法?谢谢!

    let betweenView = searchController.searchBar

    self.view.addSubview(betweenView)

    let upperConstraint = NSLayoutConstraint(item: betweenView, attribute: .top, relatedBy: .equal, toItem: self.tableView, attribute: .top, multiplier: 1, constant: (self.navigationController?.navigationBar.frame.height)!)
    let lowerConstraint = NSLayoutConstraint(item: self.tableView, attribute: .top, relatedBy: .equal, toItem: searchView, attribute: .bottom, multiplier: 1, constant: 0)

    self.view.addConstraint(upperConstraint)
    self.view.addConstraint(lowerConstraint)

1 个答案:

答案 0 :(得分:0)

你想在这里做两件事:

1)将搜索视图的约束布局到顶部布局指南。这会根据需要将搜索视图移动到导航栏下方:

let upperConstraint = NSLayoutConstraint(item: searchView, attribute: .top, relatedBy: .equal, toItem: topLayoutGuide, attribute: .bottom, multiplier: 1, constant: 0)

2)您需要确保表格不会自动调整滚动到导航控制器:

tableView.automaticallyAdjustsScrollViewInsets = false