为什么UISearchController搜索栏位置不正确?

时间:2016-09-07 10:28:25

标签: ios uitableview uinavigationbar uisearchcontroller

我有一个UITableViewController,我在tableHeaderView放置了一个搜索栏。这一切看起来都很好,如下图所示。 enter image description here

但是,问题在于它出现时:enter image description here

如您所见,它大部分隐藏在屏幕顶部之上。

以下是我在tableview控制器的viewDidLoad中设置的代码:

        searchController = UISearchController(searchResultsController: nil)
        searchController.searchResultsUpdater = self
        searchController.delegate = self
        searchController.dimsBackgroundDuringPresentation = false
        searchController.searchBar.placeholder = "Search Presets..."
        searchController.searchBar.delegate = self
        searchController.searchBar.barStyle = .blackTranslucent
        searchController.hidesNavigationBarDuringPresentation = true;
        self.tableView.tableHeaderView = searchController.searchBar
        self.tableView.contentOffset = CGPoint(x:0, y:searchController.searchBar.frame.size.height);

如果我打印搜索栏的框架,它的原点是(0,0)。 我已经尝试了我能想到的一切,但没有任何作用

1 个答案:

答案 0 :(得分:0)

我发现如果我在IB中导航栏的属性检查器中检查Translucent,问题就解决了。

这让我相信,如果不加以检查并将extendedLayoutIncludesOpaqueBars设置为true也会有效,但我发现情况并非如此。