我有以下代码来限制UITextView中的行数
textView.textContainer.maximumNumberOfLines = 10
textView.textContainer.lineBreakMode = .byTruncatingTail
但有没有办法限制每行的字符数?如何为每行设置50个字符的限制?
修改 我尝试了可能重复的解决方案但是限制应用于整个文本,我需要为每一行设置限制。
答案 0 :(得分:3)
实现shouldChangeTextIn,如果任何行超过允许的字符数,则返回false:
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
let maxAllowedCharactersPerLine = 10
let lines = (textView.text as NSString).replacingCharacters(in: range, with: text).components(separatedBy: .newlines)
for line in lines {
if line.characters.count > maxAllowedCharactersPerLine {
return false
}
}
return true
}