在键盘上单击“完成”按钮时会触发以下操作。它进入条件并返回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连接了它。任何想法为什么它不会解雇键盘?
答案 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
}