iOS 11:在导航项标题视图中嵌入的搜索栏旁边添加其他导航项

时间:2017-11-05 05:06:30

标签: ios swift uinavigationbar swift4 ios11

在iOS 11中,我们现在使用

self.navigationItem.searchController = self.searchController

在导航项目标题视图中嵌入搜索栏。但是,这会将其他导航项推送到搜索栏上方,如下所示:

enter image description here

不使用自定义容器或回到设置搜索栏的旧方法,我们是否可以将其他导航项目保持在与iOS 11中的搜索栏相同的级别?像这样:

enter image description here

1 个答案:

答案 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