从视图控制器返回时,Tableview不会滚动到顶部,由范围栏隐藏

时间:2017-12-09 16:59:12

标签: ios uitableview uisearchbar

我有一个带有范围的搜索栏的tableview。

用户搜索,搜索结果在tableview中完美显示。当用户单击tableview中的单元格时,它们将被带到另一个视图控制器。但是当我从视图控制器返回到tableview时,我遇到了问题。

我之前选择的单元格在屏幕上相当居中,但这意味着tableview的位置比之前更高。这个问题是我无法再滚动到高于所选单元格的单元格。向下滚动可以正常工作直到底部。 tableview的顶部也被我的范围栏隐藏。但奇怪的是,如果我转到另一个标签然后返回,那么tableview会修复它的位置。

以下是我为搜索栏所做的事情,包括那里的问题。

override func viewDidAppear(_ animated: Bool) {
    searchController.isActive = true
}
override func viewDidLoad() {
    searchController.searchResultsUpdater = self
    searchController.dimsBackgroundDuringPresentation = false
    searchController.searchBar.isUserInteractionEnabled = false
    searchController.searchBar.delegate = self
    searchController.searchBar.barStyle = .black
    searchController.searchBar.scopeButtonTitles = ["Title1", "Title2", "Title3"]
    searchController.searchBar.sizeToFit()
    definesPresentationContext = true
    searchController.hidesNavigationBarDuringPresentation = false

    navigationItem.searchController = searchController
    navigationItem.hidesSearchBarWhenScrolling = false

    ...
}

很明显,当我从另一个视图返回时,如何避免tableview不让我向上滚动并且范围栏不覆盖tableview的顶部?

0 个答案:

没有答案