当前位置:  开发笔记 > 编程语言 > 正文

让搜索栏成为第一响应者

如何解决《让搜索栏成为第一响应者》经验,为你挑选了1个好方法。

我有一个UISearchController内心UINavigationBar.用户必须点击a UIBarButtonItem,然后我实例化一个新的UIViewController然后呈现它,以便开始搜索.

class ViewController: UIViewController {

  var searchController: UISearchController! 

  override func viewDidLoad() {
    super.viewDidLoad()
    setupSearchController()
  }

  func setupSearchController() {
    searchController = UISearchController(searchResultsController: nil)
    searchController.searchBar.delegate = self
    searchController.searchResultsUpdater = self
    searchController.searchBar.showsCancelButton = true
    searchController.dimsBackgroundDuringPresentation = false
    searchController.hidesNavigationBarDuringPresentation = false

    definesPresentationContext = true
    navigationItem.titleView = searchController.searchBar
  }

}

我事先做了大量研究,但仍无法找到解决方案......

帮助使搜索控制器成为第一个响应者将非常感激.



1> damiancesar..:

UISearchBar在主线程上制作第一个响应者是解决方案.

override func viewDidAppear(_ animated: Bool) {
  super.viewDidAppear(animated)

  DispatchQueue.main.async {
    self.searchController.searchBar.becomeFirstResponder()
  }
}

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有