在我的应用中,我有一些textView
的文字限制。例如,在description
我的文本限制为10000.当textView包含超过10000个字符时,我只需要在键盘中启用退格键,并且需要禁用键盘中的所有其他键,是否可行。这是我尝试过的代码:
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText string: String) -> Bool {
if(textView == DescriptionText)
{
if range.length + range.location > (self.DescriptionText.text?.characters.count)!
{
return false
}
else if range.location == 0 && string == " "
{
return false
}
let NewLength = (self.DescriptionText.text?.characters.count)! - range.length
return NewLength <= 9999
}
else
{
if range.location == 0 && string == " "
{
return false
}
return true
}
}
答案 0 :(得分:1)
在textfieldShouldChange中添加以下内容:
if(range.length + range.location > textField.text.length)
{
return NO;
}
NSUInteger newLength = [textField.text length] + [string length] - range.length;
return newLength <= 10000;
答案 1 :(得分:-1)
我不确定你想要什么,但你可以阻止用户使用下面的行在textView中输入超过10000个字符。
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText string: String) -> Bool {
let textString = (textView.text! as NSString).replacingCharacters(in: range, with: string)
if textView == self.DescriptionText && string.characters.count > 0 {
return textString.characters.count <= 10000
}
return true
}