即使将样式更改为UITableViewStyleGrouped,Tableview标头也不可滚动

时间:2017-09-28 21:45:56

标签: ios swift uitableview swift4 xcode9

我将searchBar添加到我的UITableView的标题中,并希望能够在用户滚动单元格时使用它。

我已尝试过将所有样式设置为 UITableViewStyleGrouped ,但它并没有解决我的问题。

这是代码

var searchController: UISearchController = UISearchController(searchResultsController: nil)
searchController.searchResultsUpdater = self
searchController.dimsBackgroundDuringPresentation = false
definesPresentationContext = true
tableView.tableHeaderView = searchController.searchBar

为什么标题会停留在停止位置?

2 个答案:

答案 0 :(得分:0)

我不确定您是否只是在寻找程序解决方案,但通过Interface Builder,您可以将搜索栏放在UITableView上方。

enter image description here

答案 1 :(得分:0)

如果您使用的是iOS 11,则可以使用以下代码将UISearchBar放入UINavigationBar中。即使滚动UITableView,UISearchBar也始终可见。

class DishesTableViewController : UITableViewController, UISearchResultsUpdating {

    func updateSearchResults(for searchController: UISearchController) {

    }

    override func viewDidLoad() {
        super.viewDidLoad()

        let searchController = UISearchController(searchResultsController: self)
        searchController.searchResultsUpdater = self

        self.navigationItem.searchController = searchController
        self.navigationItem.hidesSearchBarWhenScrolling = false 
    }

enter image description here