0
我正在使用帶有UISearchBar的UITableViewController。 UITableViewController嵌入在UINavigationController中。顯示錶格視圖時,搜索欄位於預期的頂部(位於導航欄下方)。導航欄顯示標題和提示。IOS:UISearchBar部分覆蓋UINavigationB並提示
當我點擊搜索欄時,它會向上移動並將標題隱藏在我的導航欄中。提示仍然可見。 當我不使用提示時,點擊它後,搜索欄仍然在導航欄的下方。
我創建了一個非常簡單的項目來演示我的問題。該項目有一個UITableViewController以下文件:
import UIKit
class searchTVC: UITableViewController, UISearchControllerDelegate, UISearchResultsUpdating {
fileprivate let searchController = UISearchController(searchResultsController: nil)
override func viewDidLoad() {
super.viewDidLoad()
title = "Title"
navigationItem.prompt = "prompt"
tableView.backgroundColor = UIColor.gray
// Add search bar
searchController.delegate = self
searchController.searchResultsUpdater = self
searchController.hidesNavigationBarDuringPresentation = false
searchController.dimsBackgroundDuringPresentation = false
searchController.searchBar.sizeToFit()
tableView.tableHeaderView = searchController.searchBar
// remove separators for empty table
tableView.tableFooterView = UIView()
}
func updateSearchResults(for searchController: UISearchController) {
// ignore
}
}
在故事板只有嵌入在一個UINavigationController的一個空的UITableViewController。結果如下所示。
如果您註釋掉設置提示的行爲是按預期的一致。
我最近更新了我的代碼斯威夫特4.我不記得,我看到用斯威夫特3時,這種行爲,但我不能完全確定,它正在與雨燕推出4
我缺少的東西代碼或這是一個錯誤?