通过键盘上的"发送" 按钮提交字符输入的 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语句。
答案 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
?。