UITextView .isEmpty无法在键盘上发送Swift

时间:2018-03-13 07:59:41

标签: ios swift uitextview

通过键盘上的"发送" 按钮提交字符输入的 UITextView 。我已尝试过以下所有这些,但仍然通过没有任何字符。

 public onTabChange(tabChangeEvent: MatTabChangeEvent): void {
        console.log(tabChangeEvent);
    }

我尝试过这些以及更多......

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

        if(textView.text != "" || !textView.text.isEmpty){

          print("still printing")
         //**I dont want it to make it here but it does with no characters in textView after clicking send on keyBoard
        //It still makes it here when send button is pressed and textView is null.
            return false
        }

    }
    return true
}

1。) if(text ==" \ n")表示"发送"按钮已被按下

2。) if(textView.text!="")检查textView是否为空

textView为null但仍然通过我在上面尝试过的if语句。

1 个答案:

答案 0 :(得分:2)

要获取新文本长度,您需要使用范围和文本参数值,如下所示:

func textView(_ textView: UITextView, shouldChangeTextIn  range: NSRange, replacementText text: String) -> Bool {
    let insertedText = text.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)
    if insertedText.count == 1 {
        textView.text = insertedText
    }

    return false
}
  

详细信息:在文本更改之前触发了shouldChangeTextIn   UITextView的。这是有道理的,因为   应用此更改的决定在此函数shouldChangeTextIn?。

中进行