将且仅将UILabel上的所有数字变色指定的字体颜色<转>

先提出一个场景,一个UILabel上面有各种数字字符中文字符以及字母等,现在我们想将其中的数字找出来并且变为和其他字符不同的颜色。 这里提出一个解决方法,通过for循环来截取一个一个字符,判断其是不是0-9的数字,如果是就设置他的字体属性,我们使用了 NSMutableAttributedString实现富文本(带属性的字符串)。 NSAttributedString的使用方法,跟NSMutableString,NSString类似 1.使用方法: 为某一范围内文字设置多个属性 - (void)setAttributes:(NSDictionary *)attrs range:(NSRange)range; 为某一范围内文字添加某个属性 - (void)addAttribute:(NSString *)name value:(id)value range:(NSRange)range; 为某一范围内文字添加多个属性 - (void)addAttributes:(NSDictionary *)attrs range:(NSRange)range; 移除某范围内的某个属性 - (void)removeAttribute:(NSString *)name range:(NSRange)range; 2. 常见的属性及说明 NSFontAttributeName 字体 NSParagraphStyleAttributeName 段落格式 NSForegroundColorAttributeName 字体颜色 NSBackgroundColorAttributeName 背景颜色 NSStrikethroughStyleAttributeName删除线格式 NSUnderlineStyleAttributeName 下划线格式 NSStrokeColorAttributeName 删除线颜色 NSStrokeWidthAttributeName删除线宽度 NSShadowAttributeName 阴影 //PS:下划线属性的设置方法 //[attributeString addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:NSMakeRange(i, 1)]; 那么进入正题!,首先我们创建好UILabel,然后通过for循环来查找符合条件的数字 @property (nonatomic,strong)UILabel *myLabel; self.myLabel = [[UILabelalloc]initWithFrame:CGRectMake(0,0, 375,100)]; self.myLabel.backgroundColor = [UIColorcyanColor];//天蓝色背景 self.myLabel.textAlignment =1;//居中 [self.viewaddSubview:self.myLabel]; //这是我们的测试用的文本字符串数据 NSString *content = @"abc123a1b2c3你懂得888"; NSArray *number = @[@"0",@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9"]; NSMutableAttributedString *attributeString = [[NSMutableAttributedString alloc]initWithString:content]; for (int i = 0; i < content.length; i ++) { //这里的小技巧,每次只截取一个字符的范围 NSString *a = [content substringWithRange:NSMakeRange(i, 1)]; //判断装有0-9的字符串的数字数组是否包含截取字符串出来的单个字符,从而筛选出符合要求的数字字符的范围NSMakeRange if ([number containsObject:a]) { [attributeString setAttributes:@{NSForegroundColorAttributeName:[UIColor blueColor],NSFontAttributeName:[UIFont systemFontOfSize:25],NSUnderlineStyleAttributeName:[NSNumber numberWithInteger:NSUnderlineStyleSingle]} range:NSMakeRange(i, 1)]; } } //完成查找数字,最后将带有字体下划线的字符串显示在UILabel上 self.myLabel.attributedText = attributeString;

时间: 2024-07-30 19:13:12

将且仅将UILabel上的所有数字变色指定的字体颜色<转>的相关文章

鼠标在字体上移动,字体颜色渐变

这里的传参方法跟本博客中javascript"鼠标移入移出背景色渐变"中的传参方式相同,我贴的代码是全部都有的,大家可以复制过去直接看效果,有更好的建议的望留言…… <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>鼠标在字体上移入移出字体颜色渐变</title> <style&g

lua解上阶梯问题(按指定格式输出具体走法、迭代、递归)

问题描述 楼梯有n阶台阶,上楼可以一步上1阶,也可以一步上2阶,编一程序列出每一种走法. 思路 注释均在代码中 其它 第一次接触lua,很好的脚本语言 源代码 --[[-------------------------------------------------------------------------- 表复制:深复制 --]]-------------------------------------------------------------------------- func

点击cell后 cell的背景不变,cell上的字体颜色发生改变的功能实现

在我们使用音频播放的时候,常常出现播放的时候,被播放的cell的字体有别于其他cell的字体,这样的功能如何实现. 首先在应用上,cell肯定是自己定制的,上面可以放置UIImageView和UILable控件 在点击的时候,被点击的图片和Label的字体颜色发生改变. 我们需要在didSelectRowAtIndexPath方法.cellForRowAtIndexPath方法中分别对cell上的颜色进行改变.最重要的事情是:在cellForRowAtIndexPath方法中添加这样的代码块 f

java jdk-awt.font在centos上中文乱码的问题, 安装中文字体

有需求生成一个二维码,并且有一段文本说明,但是使用awt.font来生成中文时,一直存在乱码的问题.网上的解决办法有几种,但是在centos上亲测有用的就是如下的方法. Java代码如下:new java.awt.Font("宋体",Font.BOLD,13); 1,从windows上拷贝simsun.ttc宋体文件(有的说改后缀为ttf,没有试),拷贝到/usr/share/fonts下,可以新建一个文件夹,比如我创建的是chinese,即路径为/user/share/fonts/c

深度学习实践系列之--身份证上汉字及数字识别系统的实现(上)

前言: 本文章将记录我利用深度学习方法实现身份证图像的信息识别系统的实现过程,及学习到的心得与体会.本次实践是我投身AI的初次系统化的付诸实践,意义重大,让自己成长许多.终于有空闲的时间,将其记录,只为更好的分享与学习. 目录: 1.本人的主要工作 2.关键技术 3.模型训练 4.系统设计及实现 5.总结 正文: 一.本人的主要工作 深度学习技术与传统模式识别技术相比,免去人工提取特征,识别率更高.我基于深度学习的技术背景,主要的研究内容如下: 1)身份证图像涉及个人隐私,很难获取其数据训练集.

解决CATextLayer在越狱设备上字体颜色问题。

最近在做画k线的一个悬浮窗时候,用到了CATextLayer,然后在排版的时候,越狱设备字体颜色一直为全黑,于是stackoverflow了一下,发现相似问题决解办法是这样的 然后还是没效果,我就猜测是否是因为颜色值根本没设上.在使用NSAttributedString的属性设置有问题.最开始设置文字颜色用的这个属性:NSForegroundColorAttributeName,然后尝试使用更底层的API: 完美解决!

c#实现识别图片上的验证码数字

这篇文章主要介绍了c#实现识别图片上的验证码数字的方法,本文给大家汇总了2种方法,有需要的小伙伴可以参考下. public void imgdo(Bitmap img) { //去色 Bitmap btp = img; Color c = new Color(); int rr, gg, bb; for (int i = 0; i < btp.Width; i++) { for (int j = 0; j < btp.Height; j++) { //取图片当前的像素点 c = btp.Get

电脑上的PDF文件,怎么修改背景颜色

电脑上的PDF文件,怎么修改背景颜色,这两天有许多朋友问,电脑上面的PDF文件,阅读起来感觉怪怪的,背景颜色看着很不舒服问我怎么去修改其颜色,在线修改的方法很简单的,下面就来介绍一下怎么修改PDF背景颜色.步骤一:打开电脑进入浏览器内,在百度首页搜索"迅捷PDF在线转换器"找到对应的界面,并点进去.步骤二:进入在线的页面后,可以看到首页有许多关于PDF文件的功能,点击导航栏上的文档处理,会弹出一个下拉框,在下拉框内选择"PDF背景颜色".步骤三:点击进入在线转换器的

UILabel上展示不同样式的文字(NSAttributedString)

NSMutableAttributedString *titleAttriString = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"¥200现金券"]]; [titleAttriString addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:25] range:NSMakeRange(0, t