导航UISearchBar问题

时间:2018-03-16 05:43:21

标签: ios uinavigationcontroller uisearchbar

我在使用UISearchBar的UINavigationBar中面临一个问题。右侧按钮项目覆盖到搜索栏。我想在搜索栏的左侧位置添加左栏按钮。请查找图像以便了解。

enter image description here


请在这里找到一些代码。

searchBar = SearchBar()
        searchBar.delegate = self
        if #available(iOS 11.0, *) {
            searchBar.heightAnchor.constraint(equalToConstant: 44).isActive = true
        }
        searchBar.showsCancelButton = false
        navigationItem.titleView = searchBar

1 个答案:

答案 0 :(得分:0)

您可以在搜索栏中使用默认cancel按钮

取消按钮有一些方法: -

func searchBarShouldBeginEditing(_ searchBar: UISearchBar) -> Bool {
    searchBar.showsCancelButton = true
    return true
}

func searchBarTextDidEndEditing(_ searchBar: UISearchBar) {
    self.searchBar.endEditing(true)
    searchBar.resignFirstResponder()
}

func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
    searchBar.resignFirstResponder()
}

func searchBarCancelButtonClicked(_ searchBar: UISearchBar) {
    self.searchBar.endEditing(true)
    searchBar.showsCancelButton = false
    searchBar.resignFirstResponder()
}

仅当用户开始在字段中输入字符时,才会显示“取消”按钮。