iOS 11 : Add other nav items next to a search bar embedded in navigation item title view

标签 ios swift uinavigationbar swift4 ios11

在 iOS 11 中,我们现在使用

self.navigationItem.searchController = self.searchController

在导航项标题 View 中嵌入搜索栏。然而,这会将其他导航项推到搜索栏上方,如下所示:

enter image description here

在不使用自定义容器或回到设置搜索栏的旧方法的情况下,我们有什么办法可以让其他导航项与 iOS 11 中的搜索栏处于同一级别?像这样:

enter image description here

最佳答案

您可以尝试通过像这样更改取消按钮来实现此目的:

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

关于iOS 11 : Add other nav items next to a search bar embedded in navigation item title view,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47118361/

相关文章:

java - 在客户端应用程序中声明 REST 服务 api 端点的正确模式?

ios - 保存iPhone应用程序的视频截屏

iphone - 通过 PhoneGap API 关闭 IOS 中的应用程序

ios - 如何更改 UITableView 中某些单元格的文本颜色?

swift 4 - Alamofire 和 Retrofit 之间的区别(Post @Body Class)

ios - 多个 UIImage View

xcode - uinavigationbar 中的自定义背景非应用程序范围,每个 View 都不同

ios - 尝试透明时导航 Controller 黑色

ios - 串行队列/专用调度队列如何知道任务何时完成?

swift - xcode - NavigationBarItem - 将图像更改为文本