关于textview的限制文本字数的问题会汇总
来源:互联网 发布:三菱fx2n pid编程手册 编辑:程序博客网 时间:2024/05/17 07:55
1.首先,我们来看看最初的设计。
//限制字符长度
-(BOOL) textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{
if (range.location>= 200)
{
return NO;
}
else
{
return YES;
}
}
直接对range的location进行判断。那这个range的location 是光标所在的位置嘛。如果把光标移到textview 的前端,那就可以输入很多个字符。
2.再来看改了之后:
//限制字符长度
-(BOOL) textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{
if ([text isEqualToString:@""] && range.length > 0) {
return YES;
}
else {
if (textView.text.length - range.length + text.length > 10) {//至于这个range.length是0而已,也无需加上。
return NO;
}
else {
return YES;
}
}
}
这样写也是有问题的,一个是不能对联想输入做处理,二是不能对复制粘贴做精确的处理。当进行复制粘贴时,text大于10,那text还是无法加入到textView.text中来。
3.看下面这样的代码
//限制字符长度
-(BOOL) textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{
if ([text isEqualToString:@""] && range.length >0)
{ returnYES;
}//为什么需要加上yes.为了防止bug.删除不了的现象。
else
{
NSString *str = [NSStringstringWithFormat:@"%@%@", textView.text, text];
if (str.length >BOOKMARK_WORD_LIMIT)
{
textView.text = [strsubstringToIndex:BOOKMARK_WORD_LIMIT];
return NO;
}
else
{
return YES;
}
}
}
-(void)textViewDidChange:(UITextView *)textView{
//该判断用于联想输入
if (textView.text.length >BOOKMARK_WORD_LIMIT)
{
textView.text = [textView.textsubstringToIndex:BOOKMARK_WORD_LIMIT];
}
}
- 关于textview的限制文本字数的问题会汇总
- 关于textView的字数限制
- android TextView 显示字数的限制问题
- 做textview的字数限制时遇到的问题
- EditText 关于输入限制以及字数限制的问题
- TextView里限制输入字数的方法
- TextView里限制输入字数的方法
- TextView里限制输入字数的方法
- TextView的字数行数限制显示
- android中关于textview字数显示的问题
- 带字数限制的文本域制作
- Android 实现EditText文本的字数限制
- 实现文本域输入字数的限制
- 关于限制TextView的输入问题
- 关于iOS对textView字数限制上的一些坑以及解决方法
- iOS开发中,textview中文输入有联想的时候,字数限制问题
- textview显示字数的问题或者是限制显示多少行,超过用省略号表示
- 关于textView中富文本输入字数限制(中文和表情)
- Solr使用入门指南
- android backdoor
- 统计各班成绩第一名的同学信息
- 代码解决 有些浏览器不支持placeholder特性的问题
- 关于oc的学习笔记 -copy和mutableCopy
- 关于textview的限制文本字数的问题会汇总
- IOS项目集成ShareSDK实现第三方登录、分享、关注等功能。
- 7_13发现了一个小问题为啥在do_line函数里赋值语句在变量定义语句之前就会报错?
- openwrt默认开机启动ssh的方法
- Android反射机制实现与原理
- JS区分中英文字符的两种方法
- EntityFramework 执行SQL语句进行参数化查询代码示例
- 弱符号与强符号概念
- 坐飞机的流程