簡體   English   中英

SearchBar隱藏在NavigationBar下

[英]SearchBar hides under NavigationBar

我在表視圖中添加了searchBar。 我也有一個導航欄,它應該顯示在它下面。 直到我點擊搜索欄,它才能正常工作。 在屏幕尺寸較大的設備(從iPhone 6開始)上執行此操作時,搜索欄將隱藏在導航欄下方。 它可以在實際的iPhone 5、5s上正常工作。 這是我初始化searchBar的方式:

    searchController.searchResultsUpdater = self as UISearchResultsUpdating
    searchController.dimsBackgroundDuringPresentation = false
    definesPresentationContext = true
    tableView.tableHeaderView = searchController.searchBar
    searchController.hidesNavigationBarDuringPresentation = false
    searchController.searchBar.tintColor = UIColor.black


    searchController.searchBar.scopeButtonTitles = ["Device", "Person", "OS version"]
    searchController.searchBar.delegate = self as UISearchBarDelegate

在我點擊搜索欄之前

在點擊searchBar之后

searchBar不應隱藏,因為在搜索時我也需要對navigationBar進行分段控制。 您知道如何解決此問題嗎?

更新:設置擴展邊緣后,searchBar如下所示: 導航欄顏色已更改

當我點擊搜索欄

我解決了問題。 這是一個iOS 11問題。 根據wwdc的建議,您應該為navigationItem添加searchBar。

if #available(iOS 11.0, *) {
    self.navigationItem.searchController = self.searchController
    self.navigationItem.hidesSearchBarWhenScrolling = false

} else {
    tableView.tableHeaderView = searchController.searchBar
}

這樣可以解決問題,並且現在可以與任何iOS類型正常工作。 在iOS 11上,searchBar如下所示: iOS 11的SearchBar

選擇您的viewController。 然后在實用程序窗口中取消勾選1:-頂欄

喜歡這張圖片

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM