首页 > 解决方案 > 打开侧面菜单(SWRevealviewController)时如何关闭键盘?

问题描述

在我的例子中,主屏幕中有 SearchView 并且还有一个侧边菜单(即 a SWRevealViewController)。现在我想这样做,当我点击UISearchView键盘打开时,不关闭该键盘我打开侧面菜单(SWRevealViewController)。这就是过程。

现在的问题是打开侧面菜单后键盘仍然打开。

我应该怎么做才能在打开侧面菜单后自动关闭键盘?

现在我试图做到这一点:

override func viewDidLoad() {
    super.viewDidLoad()

    let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "dismissKeyboard")    
    view.addGestureRecognizer(tap)
}

func dismissKeyboard() {
    view.endEditing(true)
}

标签: iosswift4swrevealviewcontroller

解决方案


试试这段代码,希望对你有帮助。

class ViewController: UIViewController, SWRevealViewControllerDelegate {
@IBOutlet weak var textField: UITextField!
@IBOutlet weak var menuButton:UIBarButtonItem!

override func viewDidLoad() {
    super.viewDidLoad()
    if revealViewController() != nil {
        menuButton.target = revealViewController()
        menuButton.action = "revealToggle:"
        self.navigationController!.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
        revealViewController().delegate = self
    }
}

func revealController(revealController: SWRevealViewController!, willMoveToPosition position: FrontViewPosition) {
    textField.resignFirstResponder()
}

推荐阅读