UITextView实现输入标签高亮
输入 实现 标签 高亮
2023-09-11 14:14:25 时间
设定标签以#开始和空格结尾,在输入框中实现标签以高亮颜色显示。如果使用textView.attributedText来设定高亮颜色的话,会导致中文输入异常。
使用textView.textStorage可以实现正常显示和输入。
- (void)textViewDidChange:(UITextView *)textView {
if (textView.text.length>0) {
[textView.textStorage addAttributes:@{NSForegroundColorAttributeName:kTextColor} range:NSMakeRange(0, textView.text.length)];
NSString *content = textView.text;
NSInteger iLocation = 0;
while (true) {
NSRange r = [content rangeOfString:@"(#.*? )" options:NSRegularExpressionSearch range:NSMakeRange(iLocation, content.length-iLocation)];
if (r.location == NSNotFound) {
break;
}
[textView.textStorage addAttributes:@{NSForegroundColorAttributeName:kMarkColor} range:r];
iLocation = r.location+r.length;
}
}
}
相关文章
- 关于输入提示功能实现前的基本参考
- input type=number 时maxlength无效,且 只能输入正整数时
- Android开发之EditText 详解(addTextChangedListener监听用户输入状态)
- 输入10个学生5门课的成绩,分别用函数实现下列功能
- 【C语言】将n个数按输入时顺序的逆序排列输出,用函数和指针实现。
- Python的输入与输出
- input标签根据输入字符动态自适应宽度的实现
- github结合TortoiseGit使用sshkey,无需输入账号和密码
- 【校招Verilog快速入门】基础语法篇:VL9、使用子模块实现三输入数的大小比较
- c程序设计语言_习题1-13_统计输入中单词的长度,并且根据不同长度出现的次数绘制相应的直方图
- 地址栏从url输入到页面显示
- Vue自定义指令实现input限制输入正整数
- 借助python中的sympy,实现latx公式的简便输入
- 从0开发游戏引擎之Win32平台用户输入事件Input类实现
- Java //PP2.6 编写一个应用程序,将英里转换为千米(1英里等于1.60935千米)。以浮点数类型读取用户输入的英里数
- 数据库系统原理课程总结3——SQL语句,建表,主键外键,存储过程,批量输入百万级数据