【问题标题】:Swift: Search bar created at Auto FocusSwift:在 Auto Focus 上创建的搜索栏
【发布时间】:2015-08-03 11:28:02
【问题描述】:

我通过单击一个按钮来创建一个表格视图和一个搜索栏。但是我需要搜索栏出现在自动对焦(用户立即输入文本而无需在搜索栏内单击)。我该怎么做?

【问题讨论】:

    标签: swift search uisearchcontroller autofocus


    【解决方案1】:

    试试这个

    @IBOutlet weak var searchBar: UISearchBar!
    override func viewDidLoad() {
        super.viewDidLoad()
        searchBar.becomeFirstResponder()
    }
    

    【讨论】:

    • 旧答案,但在 SwiftUI 中仍然为我工作。
    • 2021-07-02,仍在使用适用于 iOS 14 的 SwiftUI!
    【解决方案2】:

    应该这样做。

    override func viewWillAppear(animated: Bool) {
        super.viewWillAppear(animated)
        searchController.active = true
    }
    

    ...

    extension GDSearchTableViewController: UISearchControllerDelegate {
       func didPresentSearchController(searchController: UISearchController) {
          searchController.searchBar.becomeFirstResponder()
       }
    }
    

    【讨论】:

    • 当使用 UISearchController 时,这是唯一对我有用的东西
    【解决方案3】:

    Swift 5.2

    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        searchController.isActive = true
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        searchController.delegate = self
    }
    
    extension ViewController: UISearchControllerDelegate {
        func didPresentSearchController(_ searchController: UISearchController) {
            searchController.searchBar.becomeFirstResponder()
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-18
      • 1970-01-01
      • 2022-10-15
      • 1970-01-01
      • 1970-01-01
      • 2017-06-30
      • 1970-01-01
      相关资源
      最近更新 更多