【问题标题】:How to implement segment control with search bar within navigation bar?如何在导航栏中使用搜索栏实现分段控制?
【发布时间】:2018-12-23 09:53:27
【问题描述】:

我想知道是否可以在同一个导航栏中添加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 的一部分也可能是一个问题。

【问题讨论】:

    标签: ios swift uinavigationbar uisearchbar uisegmentedcontrol


    【解决方案1】:

    试试这个

    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
    

    这是上面代码的截图:

    【讨论】:

    • 我尝试了您的解决方案,但没有成功。我尝试像这样将它添加到 navigationItem:navigationItem.titleView = searchBar.它有效,但看起来很糟糕。导航栏未与段对齐。
    • 我忘记删除后栏按钮了,现在可以正常使用了。我只需要更改范围的颜色。谢谢,这是正确的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-13
    • 1970-01-01
    相关资源
    最近更新 更多