swift - 加载 Controller 时激活 UISearchBar

标签 swift keyboard uikit ios9 uisearchbar

我有以下 SearchController:

class SearchController: UITableViewController, UISearchResultsUpdating

实现效果很好,但每次加载 Controller 时我都必须点击搜索栏开始搜索。我想要的是在加载 SearchController 后激活搜索栏。我试过:

override func viewDidLoad() {
    super.viewDidLoad()

    ...
    ...

    self.resultSearchController.searchBar.becomeFirstResponder()
}

我也尝试过:

override func viewDidAppear(animated: Bool) {
    self.resultSearchController.searchBar.becomeFirstResponder()
}

但搜索栏仍处于停用状态,键盘也不会出现。我错过了什么?谢谢!

最佳答案

这有效(不知道为什么它不适合你):

class ViewController: UIViewController {

    let mySearchController = UISearchController(searchResultsController: nil)

    override func viewDidLoad() {
        super.viewDidLoad()
        navigationItem.titleView = mySearchController.searchBar
        mySearchController.hidesNavigationBarDuringPresentation = false
        mySearchController.searchBar.becomeFirstResponder()
    }
}

关于swift - 加载 Controller 时激活 UISearchBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35540888/

相关文章:

ios - Firebase 存储错误

swift - 钥匙串(keychain) SecItemUpdate 返回 errSecParam

ios - 带有 iOS swift 的 Facebook SDK 无法在 UIWebView 中打开

java - 在 webView 中阻止键盘

ios - 从 Firebase RT 数据库中提取数据时遇到问题

ios - 在 iOS 的单独线程中创建 PDF 文件

ios - Swift iOS - 如何分析给定的 MP3 文件以确定节拍的时间?

android - 如何隐藏虚拟键盘

android - 防止 Android 键盘恢复为字母模式

ios - 我在 MonoTouch 中对 UIButton 进行了子类化,但底层 ObjC 类仍然是 UIButton