保留 return 键的功能但禁用 "\n" IOS

Keep functionality of return key but disable "\n" IOS

更新:Return 关键问题

我正在使用 TextView 中的 return 键发送消息。

然而,当我按下 return 键(我将其更改为 "Send")时,“\n”功能仍处于启用状态。如何在不破坏 "Send".

功能的情况下禁用换行符功能
func textView(_ textView: UITextView, shouldChangeTextIn  range: NSRange, replacementText text: String) -> Bool {
        if (text == "\n") {

                if(message.text != ""){
                message.text = nil
                doSomething()
            }

        }
        return true
    }

尝试切换自动启用 return 键仍然无法解决我的问题。

我需要以相同的方式访问 doSomething(),但在我清除消息后没有“\n”影响我的 textView。

问题是您要返回 true。这意味着 "go ahead and enter the return character that the user typed"。但这正是您所说的 而不是 想做的。 Return false 代替(对于 text == "\n" 的情况)。

之后调用cursorPosition()函数
message.text = nil 
message.text = ""

并添加以下函数

 func cursorPosition() {
    let startPosition = textView.beginningOfDocument
    textView.selectedTextRange = textView.textRange(from: startPosition, to: startPosition)
}