Xcode 9 TextViewShouldReturn

时间:2018-05-22 07:44:17

标签: ios swift uitextview xcode9 uitextviewdelegate

过去,要在用户返回后关闭键盘,我只需覆盖TextViewShouldReturn函数。但是,在重新下载Xcode(版本9.3.1)时,它似乎不再是UITextViewDelegate中的一个函数,并且我在该主题上发现的大多数先前问题都建议以某种方式覆盖TextViewShouldReturn。有没有我忘记的事情或可能更有效的方式?

这就是我目前在申请中所看到的内容:
Not allowed to embed an image yet so here's a link

4 个答案:

答案 0 :(得分:2)

也许您将UITextViewDelegateUITextFieldDelegate混为一谈?

答案 1 :(得分:1)

像textField这样的textView没有类似textViewShouldReturn()的方法,而是可以使用以下代码返回键盘 -

extension ViewController: UITextViewDelegate {
    func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
        if(text == "\n") {
            textView.resignFirstResponder()
            return true
        }
        return true
    }

//确保你在viewDidLoad方法中拥有textView委托

答案 2 :(得分:0)

UITextViewDelegates中没有函数textViewShouldReturn这个函数是UITextField委托,所以你必须在点击返回时为隐藏键盘创建自己的代码。默认情况下,UITextView返回按钮用于下一行。

答案 3 :(得分:-1)

如果你想隐藏键盘。不妨这个

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text;
{
    if ( [ text isEqualToString: @"\n" ] ) {
        [ textView resignFirstResponder ];
        return NO;
    }
    return YES;
}