在iOS 11中,我们现在使用
self.navigationItem.searchController = self.searchController
在导航项目标题视图中嵌入搜索栏。但是,这会将其他导航项推送到搜索栏上方,如下所示:
不使用自定义容器或回到设置搜索栏的旧方法,我们是否可以将其他导航项目保持在与iOS 11中的搜索栏相同的级别?像这样:
答案 0 :(得分:1)
您可以尝试通过更改取消按钮来实现此目的:
let searchController = UISearchController(searchResultsController: nil)
searchController.searchBar.showsCancelButton = true
if let view = searchController.searchBar.subviews.first {
for subview in view.subviews {
if let myButton = subview as? UIButton {
// setup button
myButton.setTitle("", for: .normal)
let image = UIImage(named: "myImage")
myButton.setBackgroundImage(image, for: .normal)
}
}
}
navigationItem.searchController = searchController