我在Swift 3中使用tableView在其标题中创建了一个应用程序。 searchBar还有一个带有scopeButton的栏。 在iOS 10中,searchBar滑到了navigationBar的位置,一切正常。然而,在iOS 11中,当tableB变为活动状态时,tableView会在searchBar下滑动,因此几乎完全覆盖了第一个单元格。 当我现在点击一个单元格移动到另一个视图并返回时,scopeButton移动到searchBar下。现在第一个单元格再次可见,但到searchBar的距离有点大,当然scopeButton完全无法使用。 我还将我的项目转换为Swift 4,但这并没有帮助。 我正在使用Xcode 9 GM和iOS 11 GM。 这是我的代码:
let searchController = UISearchController(searchResultsController: nil)
override func viewDidLoad() {
super.viewDidLoad()
UINavigationBar.appearance().titleTextAttributes = accordFont
searchController.searchResultsUpdater = self
searchController.dimsBackgroundDuringPresentation = false
definesPresentationContext = true
tableView.tableHeaderView = searchController.searchBar
searchController.searchBar.barTintColor = UIColor(hue: 0.5, saturation: 0.43, brightness: 0.82, alpha: 1.0)
searchController.searchBar.placeholder = "Suchen"
self.navigationController?.navigationBar.barTintColor = UIColor(hue: 0.5, saturation: 0.43, brightness: 0.82, alpha: 1.0)
searchController.searchBar.setValue("Abbruch", forKey:"_cancelButtonText")
searchController.searchBar.delegate = self
searchController.searchBar.scopeButtonTitles = ["Name", "Büro Nr.", "Mobil Nr.", "Abteilung"]
searchController.searchBar.keyboardAppearance = .dark
}
这是我点击searchBar时的样子: Screesnhot
如您所见,第一个细胞几乎完全被覆盖。
当我在搜索栏处于活动状态时单击一个单元格,然后返回到表格视图时,会发生这种情况:Screenshot