如何在导航栏中使用搜索栏实现分段控制?

How to implement segment control with search bar within navigation bar?

我想知道是否可以在同一个导航栏中添加 UISegmentedControlUISearchBar

我试图将我的 UISearchBar 最小化,但没有成功:

lazy var searchBar = UISearchBar(frame: CGRect.zero)

override func viewDidLoad() {
    tableView.delegate = self
    tableView.dataSource = self
    searchBar.searchBarStyle = .minimal
    navigationItem.titleView = searchBar


}

我知道像 Apple Music 这样的应用已经做到了这一点:

该段是否是整个 UISearchBar 的一部分也可能是一个问题。

试试这个

let searchBar = UISearchBar()
searchBar.placeholder = "Biblioteket ditt"
searchBar.showsScopeBar = true
searchBar.barTintColor = UIColor(white: 0.9, alpha: 0.1)
searchBar.scopeButtonTitles = ["Apple Music", "Biblioteket ditt"]

// To change UISegmentedControl color only when appeared in UISearchBar
UISegmentedControl.appearance(whenContainedInInstancesOf: [UISearchBar.self]).tintColor = .red

self.navigationItem.titleView = searchBar

以上代码截图如下: