如何关闭UITextView的键盘

时间:2015-03-18 15:47:22

标签: swift uitextview uitextviewdelegate

在键盘上单击“完成”按钮时会触发以下操作。它进入条件并返回false。但是,键盘仍保留在屏幕上。

class MyViewController: UIViewController, UITextViewDelegate{


func textView(textView: UITextView!, shouldChangeTextInRange: NSRange, replacementText: NSString!) -> Bool {
    if(replacementText.isEqualToString("\n")) {
        textBox.resignFirstResponder()
        return false
    }
    return true
}

textBox是视图的委托。我通过Interface Builder连接了它。任何想法为什么它不会解雇键盘?

1 个答案:

答案 0 :(得分:0)

首先请确保您的My ViewController是textField的委托, 然后,在方法shouldChangeTextInRange上使用委托方法中传递的textView而不是属性textBox。

例如:

class MyViewController: UIViewController, UITextViewDelegate{

    func viewDidLoad(){
      super.viewDidLoad()
      textBox.delegate = self
    }

func textView(textView: UITextView!, shouldChangeTextInRange: NSRange, replacementText: NSString!) -> Bool {
    if(replacementText.isEqualToString("\n")) {
        textView.resignFirstResponder()
        return false
    }
    return true
}