防止用户在UITextView中输入多行

时间:2019-11-12 22:09:21

标签: swift uitextview

我有一个UITextView用户可以输入很多文本(大约500个字符)。

例如,如果表单仅包含空的新行,我想阻止用户提交表单。

我尝试添加它-

    func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
        guard text.rangeOfCharacter(from: CharacterSet.newlines) == nil else { return false }
        return true
    }

这阻止了他们反复点击返回键,但是这也停止了文字换行。

我该如何去除文本正文以便删除多行新文本,或者首先防止它们出现?

1 个答案:

答案 0 :(得分:0)

当文本字段完成编辑或将要提交时,您可以使用CharacterSet删除所有这样的空白和换行符:

let myString = "  Hello world  "
let trimmedString = myString.trimmingCharacters(in: .whitespacesAndNewlines)

这将删除Hello World周围的空格,但不会删除中间的空格。

您所要做的就是在使用数据之前使用textView.text != ""检查文本是否等于空字符串。