我需要限制我的文本视图只有6行。如何将文本视图限制为6行?我已经设置了一些字符限制50个字符无论如何。
发布于 2016-02-01 10:13:25
要做到这一点很少简单。试试下面的代码
inputTextView.textContainer.maximumNumberOfLines = 6
inputTextView.textContainer.lineBreakMode = .ByWordWrapping发布于 2019-02-28 11:24:55
对于斯威夫特4来说,这个方法没有任何错误:
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
let existingLines = textView.text.components(separatedBy: CharacterSet.newlines)
let newLines = text.components(separatedBy: CharacterSet.newlines)
let linesAfterChange = existingLines.count + newLines.count - 1
return linesAfterChange <= textView.textContainer.maximumNumberOfLines
}如果您还想限制字符:
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
let existingLines = textView.text.components(separatedBy: CharacterSet.newlines)
let newLines = text.components(separatedBy: CharacterSet.newlines)
let linesAfterChange = existingLines.count + newLines.count - 1
if(text == "\n") {
return linesAfterChange <= textView.textContainer.maximumNumberOfLines
}
let newText = (textView.text as NSString).replacingCharacters(in: range, with: text)
let numberOfChars = newText.count
return numberOfChars <= 30 // 30 characters limit
}
}不要忘记在viewDidLoad中添加您希望限制的行数
txtView.textContainer.maximumNumberOfLines = 2https://stackoverflow.com/questions/35127261
复制相似问题