我有一个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
}
这阻止了他们反复点击返回键,但是这也停止了文字换行。
我该如何去除文本正文以便删除多行新文本,或者首先防止它们出现?
答案 0 :(得分:0)
当文本字段完成编辑或将要提交时,您可以使用CharacterSet
删除所有这样的空白和换行符:
let myString = " Hello world "
let trimmedString = myString.trimmingCharacters(in: .whitespacesAndNewlines)
这将删除Hello World周围的空格,但不会删除中间的空格。
您所要做的就是在使用数据之前使用textView.text != ""
检查文本是否等于空字符串。