防止用户在UITextView中输入多个新行

问题描述 投票:1回答:1

我有一个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
    }

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

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

swift uitextview
1个回答
0
投票

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.