UITextView: 响应键盘的 return 事件(收回键盘)

UITextView: 响应键盘的 return 事件

UITextFieldDelegate代理里面响应return键的回调:textFieldShouldReturn:。

但是 UITextView的代理UITextViewDelegate 里面并没有这样的回调。

但是有别的方法可以实现:

UITextViewDelegate里面有这样一个代理函数:

1

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text

这个函数的最后一个参数text代表你每次输入的的那个字,所以:

1

2

3

4

5

6

7

8

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{

    if ([text isEqualToString:@" "]){ //判断输入的字是否是回车,即按下return

        //在这里做你响应return键的代码

        return NO; //这里返回NO,就代表return键值失效,即页面上按下return,不会出现换行,如果为yes,则输入页面会换行

    }

 

    return YES;

}

swift:写法

func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {

        if text.containsString(" ") {

            self.view.endEditing(true)

            return false

        }

        return true

    }

原文地址:https://www.cnblogs.com/YangFuShun/p/5706191.html