iOS中Label实现显示不同颜色与字体的方法

前言

iOS中Label是我们经常遇到的一个控件,我们大家应该都会简单的使用它,像下面这个代码,就能简单的创建一个label

// 1、创建

CGRectrect =CGRectMake(100,100,100,100);

UILabel* label = [[UILabelalloc]initWithFrame:rect];

引言

然而我们在开发中,经常会遇到一行字,但是显示不同颜色和字体的情况,话不多说,直接上代码。

1、显示不同颜色,有两种方式

(1)通过 range 来设置

NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"点击代表您已阅读并同意用户规则和协议"];
[str addAttribute:NSForegroundColorAttributeName value:[UIColor orangeColor] range:NSMakeRange(0,11)];
[str addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(11,4)];
[str addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(16,2)];
label.attributedText = str;

(2)通过文字来设置

NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"点击代表您已阅读并同意用户规则和协议"];
NSRange range1 = [[str string] rangeOfString:@"点击代表您已阅读并同意"];
[str addAttribute:NSForegroundColorAttributeName value:[UIColor orangeColor] range:range1];
NSRange range2 = [[str string] rangeOfString:@"用户规则"];
[str addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:range2];
NSRange range3 = [[str string] rangeOfString:@"协议"];
[str addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:range3];
label.attributedText = str;

以上两种的效果一样,如图:

2、显示不同字体,也是两种方式

(1)通过 range 来设置

[str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Arial-BoldItalicMT" size:13.0] range:NSMakeRange(0, 11)];
[str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"HelveticaNeue-Bold" size:14.0] range:NSMakeRange(11, 4)];
[str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Courier-BoldOblique" size:14.0] range:NSMakeRange(16, 2)];
label.attributedText = str;

(2)通过文字来设置

NSRange range1 = [[str string] rangeOfString:@"点击代表您已阅读并同意"];
[str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Arial-BoldItalicMT" size:13.0] range:range1];
NSRange range2 = [[str string] rangeOfString:@"用户规则"];
[str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"HelveticaNeue-Bold" size:14.0] range:range2];
NSRange range3 = [[str string] rangeOfString:@"协议"];
[str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Courier-BoldOblique" size:14.0] range:range3];
label.attributedText = str;

以上两种方式效果图如下:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

您可能感兴趣的文章:

  • iOS在固定的label上动态显示所有文字
  • iOS获取Label高度的几种方法与对比
  • iOS常用小功能(获得屏幕图像、压缩图片、加边框、调整label的size)
  • iOS Label随字自动变大效果
  • iOS Label实现文字渐变色效果
  • ios实现自动获取label高度、宽度及最后一个位置详解
(0)

相关推荐

  • ios实现自动获取label高度、宽度及最后一个位置详解

    前言 本文主要给大家介绍了关于ios自动获取label高度.宽度及最后一个位置的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 一.获取宽度,获取字符串不折行单行显示时所需要的长度 CGSize titleSize = [aString sizeWithFont:font constrainedToSize:CGSizeMake(MAXFLOAT, 30)]; 注:如果想得到宽度的话,size的width应该设为MAXFLOAT. 二.获取高度,获取字符串在指定的si

  • iOS Label随字自动变大效果

    一.效果图. 二.工程图. 三.代码. RootViewController.h #import <UIKit/UIKit.h> //添加HPGrowingTextView头文件 #import "HPGrowingTextView.h" @interface RootViewController : UIViewController <HPGrowingTextViewDelegate> { HPGrowingTextView *textView; } @en

  • iOS Label实现文字渐变色效果

    前言 前一段时间公司有需求做文字的的渐变色,自己当时也是网上看了一些,自己写了两个方法,实现了需求,写了很久了,只是现在才想起来,就当继续学习了.分享出来供大家参考学习,下面来看看详细的介绍: 先看看简单的: - (void)addGradientRampWithColors:(NSArray *)colors text:(NSString *)text { //label在父视图上的(x,y)的值不是中心点 CGPoint point = CGPointMake(30, 500); UILab

  • iOS常用小功能(获得屏幕图像、压缩图片、加边框、调整label的size)

    摘要:获得屏幕图像,label的动态size,时间戳转化为时间,RGB转化成颜色,加边框,压缩图片,textfield的placeholder,图片做灰度处理 1.获得屏幕图像 - (UIImage *)imageFromView: (UIView *) theView { UIGraphicsBeginImageContext(theView.frame.size); CGContextRef context = UIGraphicsGetCurrentContext(); [theView.

  • iOS在固定的label上动态显示所有文字

    照例先看下效果图: 思路 创建一个view 作为所有内容的父控件, 并且添加到上面一个 label, 作为显示文字的载体 UILabel* contentLabel = [[UILabel alloc] init]; [contentLabel sizeToFit]; contentLabel.backgroundColor = [UIColor clearColor]; _contentLabel = contentLabel; [self addSubview:self.contentLab

  • iOS获取Label高度的几种方法与对比

    介绍 在设置 UILabel 的 Frame 高度时,不能简单的设置为字体的 font size.否则会将字体的一部分裁剪掉.因为 UILabel 在不同的字体设置下,对 Frame 的高度要求也不一样,大多数情况下都比Font的高度设置要高一些. 一.sizeThatFits 使用 view 的 sizeThatFits 方法. // return 'best' size to fit given size. does not actually resize view. Default is

  • iOS中Label实现显示不同颜色与字体的方法

    前言 iOS中Label是我们经常遇到的一个控件,我们大家应该都会简单的使用它,像下面这个代码,就能简单的创建一个label // 1.创建 CGRectrect =CGRectMake(100,100,100,100); UILabel* label = [[UILabelalloc]initWithFrame:rect]; 引言 然而我们在开发中,经常会遇到一行字,但是显示不同颜色和字体的情况,话不多说,直接上代码. 1.显示不同颜色,有两种方式 (1)通过 range 来设置 NSMuta

  • IOS中Json解析实例方法详解(四种方法)

    作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式. 有的json代码格式比较混乱,可以使用此"http://www.bejson.com/"网站来进行JSON格式化校验(点击打开链接).此网站不仅可以检测Json代码中的错误,而且可以以视图形式显示json中的数据内容,很是方便. 从IOS5开始,APPLE提供了对json的原生支持(NSJSONSerialization),但是为了兼容以前的iOS版本,可以使用第三方库来解析Json. 本文将介绍Tou

  • termux中matplotlib无法显示中文问题的解决方法

    问题背景 在开始正文之前,感谢用户名为怜索的朋友送给了我的博客2021年的第一个赞! import numpy as np import matplotlib import matplotlib.pyplot as plt import os matplotlib.rcParams['xtick.direction'] = 'in' matplotlib.rcParams['ytick.direction'] = 'in' plt.rcParams['axes.unicode_minus'] =

  • iOS中从网络获取数据的几种方法的比较

    IOS中获取网络数据一般有三种:1.NSURLCondition(已过时) 2.NSURLSession  3.三方库AFNetWorking NSURLSession 是苹果对NSULRCondition的替代品,NSURLSession比NSURLCondition多了 1.可配置的数据信息NSURLSessionConfiguration,NSURLSessionConfiguration使你可以设置你要请求的数据,通常的设置如缓存,也可以使用默认的配置信息defaultCongurati

  • iOS中的地理位置的获取及plist设置方法

    1.在前台的时候获取地理位置信息 ios 8/9 在info.plist中配置NSLocationWhenInUseUsageDescription的值,否则上面的方法无效 调用.requestWhenInUseAuthorization()获取前台获取地理位置权限 调用.startUpdatingLocation() 代码示例 class ViewController: UIViewController { lazy var locateM : CLLocationManager = { le

  • 在iOS中使用OpenGL ES实现绘画板的方法

    今天我们使用 OpenGL ES 来实现一个绘画板,主要介绍在 OpenGL ES 中绘制平滑曲线的实现方案. 首先看一下最终效果: 在 iOS 中,有很多种方式可以实现一个绘画板,比如我的另外一个项目 MFPaintView 就是基于 CoreGraphics 实现的. 然而,使用 OpenGL ES 来实现可以获得更多的灵活性,比如我们可以自定义笔触的形状,这是其他实现方式做不到的. 我们知道,OpenGL ES 中只有 点.直线.三角形 这三种图元.因此, 怎么在 OpenGL ES 中绘

  • iOS设置UIButton文字显示位置和字体大小、颜色的方法

    前言 大家都知道UIButton按钮是IOS开发中最常用的控件,作为IOS基础学习教程知识 ,初学者需要了解其基本定义和常用设置,以便在开发在熟练运用. 一.iOS设置UIButton的字体大小 btn.frame = CGRectMake(x, y, width, height); [btn setTitle: @"search" forState: UIControlStateNormal]; //设置按钮上的自体的大小 //[btn setFont: [UIFont system

  • C#中label内容显示不全、不完整的解决方法

    c# label的内容显示不全,需要设置如下属性即可: 1.将Lable的font属性的字体改成宋体: 2.将AutoSize属性改成true:

  • IOS中一段文字设置多种字体颜色代码

    给定range和需要设置的颜色,就可以给一段文字设置多种不同的字体颜色,使用方法如下: 复制代码 代码如下: [self fuwenbenLabel:contentLabel FontNumber:[UIFont systemFontOfSize:15] AndRange:NSMakeRange(6, 1) AndColor:RGBACOLOR(34, 150, 253, 1)]; 复制代码 代码如下: //设置不同字体颜色 -(void)fuwenbenLabel:(UILabel *)lab

  • iOS中UIAlertController设置自定义标题与内容的方法

    前言 相信大家都知道,UIAlertController的标题和内容都是黑色的(对UIAlertController不了解的朋友可以参考这篇文章),但是在很多场景下都需要修改他们的颜色,比如在输入错误时把提示信息变为红色,或者自定义标题的颜色,可是在公开的API接口中好像并没有对应的方法,那么我们应该怎么做呢?下面话不多说了,来一起看看详细的介绍: 第三方控件 第一种方法当然就是使用第三方的Alert控件了,现在Github上有着众多的Alert控件(如SCLAlertView等),相信有很多都

随机推荐