swift - UISearchController 按下后改变视图
问题描述
我目前正在创建我的第一个 Swift 应用程序,并且我实现了一个搜索栏,例如
private func addSearchBar() {
let searchController = UISearchController(searchResultsController: nil)
navigationItem.titleView = searchController.searchBar
definesPresentationContext = true
}
显然除了显示搜索栏之外没有其他逻辑,但我很好奇是否有办法做到这一点,所以当用户按下搜索栏时,它只会切换到另一个视图。我已经能够使用 UIButtons 成功实现更改视图,但我对 UISearchController 不熟悉,如果可能的话,我希望它像 UIButton 一样工作。谢谢!
解决方案
首先将搜索栏的委托设置为您的视图控制器。在你的情况下
searchController.searchBar.delegate = self
然后符合UISearchBarDelegate并添加以下方法以检测何时点击搜索栏。
func searchBarShouldBeginEditing(_ searchBar: UISearchBar) -> Bool {
// your code to show another view or view controller
}
推荐阅读
- python - 为什么我的 SMTP 多线程暴力破解软件会忽略我的一些单词列表?
- java - 如何在java中转换python推断类型'any'
- html - 为什么我的网页打印出额外的空白页?
- structure - 结构分配模式一定不能使用复制?
- javascript - 在 JavaScript 对象中生成具有相同名称的条目
- javascript - 溢出-x:隐藏;在我的手机上打开时仍然可以滚动
- linux - awk中的gsub与变量
- javascript - 检查 Typescript 中的默认值
- selenium - selenium 'find_element' cmd 是否会激活向 Web 请求某些内容的驱动程序?
- http - “引用标头必须与主机匹配。” 尝试使用 _find 时