单击键盘Swift 4中的返回键时如何禁用返回键并调用另一个功能?

时间:2018-02-21 13:26:51

标签: ios swift4

我已经通过使用这一行chatTextView.returnKeyType = .send将键盘中的“返回”键设置为“发送”。我想要的是当textView等于占位符文本时,禁用“发送”按钮,“发送” “按钮禁用,如果没有,则在点击”发送“按钮时调用另一个功能。

目前我的代码如下所示:

func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
        if TextView.text == self.placeholderText {
            return false
        }
        return true
    }

但它没有任何效果。默认情况下启用“发送”按钮,“发送”按钮没有调用我的功能,而只是转到下一行。

当点击“发送”按钮时,我希望拨打myFunction()这是一个网络电话。但我不知道在哪里可以访问“发送”按钮

我发现很多问题都在讨论TextField,但其中没有一个是TextView,请在这方面提供帮助

3 个答案:

答案 0 :(得分:0)

你忘了_

func textView(_ textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
    if text != placeHolder && text == "\n" {
        self.myFunction()
        return false
    }
    return true
}

答案 1 :(得分:0)

试试这个: -

func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
    if (text == "\n") {
        myFunction()
        return false
    }
    return true
}

答案 2 :(得分:0)

func textView(_ textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
        if TextView.text == self.placeholderText && text == "\n" {
            return false

        }else if text == "\n" && text != self.placeholderText{
                 textView.resignFirstResponder()
                 myFunction()
                 return false
}
        return true
    }

请试一试。