ios - 限制uitextview中的字符数

标签 ios iphone uitextview uitextviewdelegate

我正在提供文本视图来鸣叫一些字符串。

我正在应用以下方法将字符数限制为140个长度。

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{


    if([text isEqualToString:@"\b"]){
        DLog(@"Ohoooo");
        return YES;
    }else if([[textView text] length] > 140){

        return NO;
    }

    return YES;
}


该代码运行良好,但第一个条件是退格不起作用。
 假设我已经达到了140个字符的限制,因此该方法将给我错误,并且用户无法插入更多字符,但是在此之后,当我尝试删除一些字符时,文本视图将被禁用。

因此,问题在于如何从textview.text删除字符或重新启用文本视图。

最佳答案

您应该寻找一个空字符串,如apple reference所示


  如果用户按下Delete键,则范围的长度为1,并且空字符串对象替换了该单个字符。


我认为您实际要进行的检查类似于[[textView text] length] - range.length + text.length > 140,以说明剪切/粘贴操作。

关于ios - 限制uitextview中的字符数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55795829/

相关文章:

ios - 为什么 Xcode 在使用 CocoaPods 后不安装我的 iOS 应用程序?

iphone - iTunes connect 是否会自行将矩形应用程序图标转换为圆形应用程序图标?

iphone - 是否可以将 X11 服务器移植到 iPhone 上?

ios - UITextView 获取当前行

objective-c - 如何读取 UITextView 中的行数

iphone - 如何关闭 View Controller 并返回到它的父 View Controller ?

iphone - 在 iPhone 中进行多任务处理?

ios - 将 AFNetworking 添加到新项目时出现错误

iphone - UITapGestureRecognizer 不工作

iOS 和 xcode : How to make a allow a user to minimize the keyboard when in Text View field