Swift 3.0将UILabel数字颜色设置为红色的方法
实现需求
这篇文章源于群友的一个问题:如何把『注:此商品只能整件(12的倍数发货),已选1袋,还差11袋』这段文字中的数字使用红色在 UILabel 中显示?
实现思路
我们可以使用UILabel 的 attribute string 属性,通过正则表达式匹配获取数字的范围,然后添加对应的 attribute。
实现代码
下面是实现代码,使用 swift 3.0 编写:
//根据正则表达式改变文字颜色 func changeTextChange(regex: String, text: String, color: UIColor) -> NSMutableAttributedString { let attributeString = NSMutableAttributedString(string: text) do { let regexExpression = try NSRegularExpression(pattern: regex, options: NSRegularExpression.Options()) let result = regexExpression.matches(in: text, options: NSRegularExpression.MatchingOptions(), range: NSMakeRange(0, text.characters.count)) for item in result { attributeString.addAttribute(NSForegroundColorAttributeName, value: color, range: item.range) } } catch { print("Failed with error: \(error)") } return attributeString } let text = "注:此商品只能整件(12的倍数发货),已选1袋,还差11袋" let renderLabel = UILabel(frame: CGRect(x: 0, y: 0, width: 800, height: 30)) renderLabel.textAlignment = NSTextAlignment.center renderLabel.backgroundColor = UIColor.lightGray renderLabel.font = UIFont.boldSystemFont(ofSize: 20) renderLabel.attributedText = changeTextChange(regex: "\\d+", text: text, color: UIColor.red)
可以把以上这段代码放到 playground 里面运行。
当然,这里可以不使用正则表达式,用其他方法也可以做到,但是正则表达式的做法比较灵活,以后如果有新的需求可以直接修改正则表达式就可以实现。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。
相关推荐
-
iOS中UILabel text两边对齐的实现代码
废话不多说了,直接给大家贴代码了,具体代码如下所示: -(NSAttributedString *)setTextString:(NSString *)text { NSMutableAttributedString *mAbStr = [[NSMutableAttributedString alloc] initWithString:text]; NSMutableParagraphStyle *npgStyle = [[NSMutableParagraphStyle alloc] init]
-
iOS开发中使用UILabel设置字体的相关技巧小结
一.初始化 复制代码 代码如下: UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(40, 40, 120, 44)]; [self.view addSubview:myLabel]; 二.设置文字 1.设置默认文本 复制代码 代码如下: NSString *text = @"标签文本"; myLabel.text = text; 效果: 2.设置标签文本(此属性是iOS6.0之后才出现,如若不是必要,不
-
Swift中通过叠加UILabel实现混合进度条的方法
先给大家展示下效果图,如果大家感觉还不错,请参考实现代码. 效果图如下所示: 源码 https://github.com/YouXianMing/Swift-Animations // // MixedColorProgressViewController.swift // Swift-Animations // // Created by YouXianMing on 16/8/21. // Copyright © 2016年 YouXianMing. All rights reserved.
-
iOS App开发中修改UILabel默认字体的方法
在项目比较成熟的基础上,遇到了这样一个需求,应用中需要引入新的字体,需要更换所有Label的默认字体,但是同时,对于一些特殊设置了字体的label又不需要更换.乍看起来,这个问题确实十分棘手,首先项目比较大,一个一个设置所有使用到的label的font工作量是巨大的,并且在许多动态展示的界面中,可能会漏掉一些label,产生bug.其次,项目中的label来源并不唯一,有用代码创建的,有xib和storyBoard中的,这也将浪费很大的精力.这种情况下,我们可能会有下面两种处理方式. 一.普通方
-
iOS App中UILabel的自定义及在Auto Layout中的使用
自定义UILabel,接受触摸事件: 复制代码 代码如下: #import <UIKit/UIKit.h> @interface myLabel : UILabel @end 复制代码 代码如下: #import "myLabel.h" @implementation myLabel - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) {
-
iOS应用中UILabel文字显示效果的常用设置总结
创建UIlabel对象 复制代码 代码如下: UILabel* label = [[UILabel alloc] initWithFrame:self.view.bounds]; 设置显示文本 复制代码 代码如下: label.text = @"This is a UILabel Demo,"; 设置文本字体 复制代码 代码如下: label.font = [UIFont fontWithName:@"Arial" size:35]; 设置文本颜色 复制代码 代码如
-
iOS长按UIlabel实现可复制功能
前言 相信大家都知道在iOS中有三个控件自身是支持拷贝,粘贴的,如:UITextField,UITextView,UIWebView.但是,有时候我们会遇到需要长按UIlabel,弹出"复制"item,来实现可复制.那该怎么办呢?下面就来一起看看吧. 首先UIKit中提供给我们几个类 在开始之前,我们需要自定义一个WINCopyLabel继承UILable - (instancetype)initWithFrame:(CGRect)frame { if (self = [super i
-
iOS开发笔记--详解UILabel的相关属性设置
在iOS编程中UILabel是一个常用的控件,下面分享一下UILabel的相关属性设置的方法. 很多学习iOS6编程都是从storyboard开始,用到UILabel时是将控件拖到storyboard中生成实现,如果想要在-(void)viewDidLoad中用代码如[_label initWithFrame:CGRectMake(X,Y,WIDTH,HEIGHT)]方法改变拖拽到storyboard的label的大小是行不通的,因为程序加载时先执行了-(void)viewDidLoad的代码,
-
Swift 3.0将UILabel数字颜色设置为红色的方法
实现需求 这篇文章源于群友的一个问题:如何把『注:此商品只能整件(12的倍数发货),已选1袋,还差11袋』这段文字中的数字使用红色在 UILabel 中显示? 实现思路 我们可以使用UILabel 的 attribute string 属性,通过正则表达式匹配获取数字的范围,然后添加对应的 attribute. 实现代码 下面是实现代码,使用 swift 3.0 编写: //根据正则表达式改变文字颜色 func changeTextChange(regex: String, text: Stri
-
android中colors.xml颜色设置资源文件的方法
1. 打开res目录下的values文件夹,双击打开colors.xml文件进行编辑 上代码 <?xml version="1.0" encoding="utf-8"?> <resources> <color name="colorPrimary">#008577</color> <color name="colorPrimaryDark">#00574B</c
-
IOS UITableView颜色设置的实例详解
IOS UITableView颜色设置的实例详解 1.系统默认的颜色设置 //无色 cell.selectionStyle = UITableViewCellSelectionStyleNone; //蓝色 cell.selectionStyle = UITableViewCellSelectionStyleBlue; //灰色 cell.selectionStyle = UITableViewCellSelectionStyleGray; 2.自定义颜色和背景设置 改变UITableView
-
iOS 设置UILabel的行间距并自适应高度的方法
实例如下: NSString *contentStr = @"总以为,在最初的地方,有一个最原来的我,就也会有一个最原来的你"; UILabel *tempLabel = [[UILabel alloc] init]; //设置背景颜色 tempLabel.backgroundColor = [UIColor redColor]; //设置内容 tempLabel.text = contentStr; //设置字体颜色 tempLabel.textColor = [UIColor wh
-
java代码块之简易qq登录界面及按钮颜色设置代码
本文主要分享了关于简洁版qq登录界面及按钮颜色设置的相关代码,供参考. java代码块 公共包(初始化窗口位置) package util; import java.awt.Dimension; import java.awt.Toolkit; import javax.swing.JFrame; //图形化界面的工具类 public class FrameUtil { //设置窗体出现在中间位置 public static void initFrame(JFrame frame,int wid
-
swift 3.0中realm封装类示例代码
前言 如果你用够了FMDB或者CoreData,不妨试试realm,本文主要给大家介绍了关于swift 3.0中realm封装类的相关内容,分享出来供大家参考学习,下面来一起看看吧. 最新更新,特别感谢@deepindo /// 查询排序后所有数据,关键词及是否升序 static func selectScoretByAll<T: Object>(_: T.Type ,key: String, isAscending: Bool) -> Results<T>{ return
-
swift 3.0 正则表达式查找/替换字符的实现代码
1.什么是正则表达式 正则表达式,又称正规表示法.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念. 正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串. 在很多文本编辑器里,正则表达式通常被用来检索.替换那些符合某个模式的文本. 2.正则表达式的字符组成 普通字符[a~z].特殊字符(称为"元字符") 3.支持 几乎所有的程序设计语言都支持正则表达式,例如:OC,swift,java,c#,
-
关于iOS中的各种颜色设置总结大全(推荐)
前言 最近因为工作的原因,在做界面的时候,有时会忘记某种控件的颜色怎么设置,需要去网上进行搜索,所以写下这篇文章. 一方面是收藏起来自己查阅,一方面是分享给大家.目标是有了这篇文章,不用再去搜索和颜色设置有关的内容. 话不多说了,来一起看看详细的介绍吧. 下面进入正题 导航栏 /* 全局设置 */ // 标题颜色 // 如果需要设置字体就在字典中加入 [UIFont fontWithName:@"Hiragino Sans GB" size:14] [[UINavigationBar
-
Swift算法实现字符串转数字的方法示例
前言 最近学完Swift之后一直没有机会实战,发现由于Swift发展历史原因,目前网上大部分的算法都是使用C.Java或其他语言实现的,几乎没有使用Swift实现的,所以自己打算使用Swift去实现一些主流的算法,既是对自己Swift的回顾,也是对自己算法方面的提高. 首先是用Swift实现字符串转数字,当然,肯定是不能使用Swift自带的字符串转数字的api. 题目: 使用Swift实现一个方法,输入字符串,输出该字符串转换成的数字. 例如,输入字符串"125",输出数字125 实现
随机推荐
- java使double保留两位小数的多方法 java保留两位小数
- jQuery通过ajax方法获取json数据不执行success的原因及解决方法
- ucenter中词语过滤原理分析
- php Rename 更改文件、文件夹名称
- PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
- 百度地图API使用方法详解
- python好玩的项目—色情图片识别代码分享
- .NET中实现彩色光标、动画光标及自定义光标的方法
- Android基于socket实现的简单C/S聊天通信功能
- jquery实现弹出层完美居中效果
- 恢复.mdf 数据库步骤
- jquery表单验证需要做些什么
- JS中使用media实现响应式布局
- C++中Boost库裁剪与其应用详解
- 利用asp或jsp,flash怎样把数据库中的一张表中的所有记录读取并显示出来
- C#数据导入/导出Excel文件及winForm导出Execl总结
- java冒泡排序简单实例
- JAVA中static方法的用法实例详解
- Java 泛型总结及详解
- 美图秀秀web开放平台--PHP流式上传和表单上传示例分享