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

 更新时间:2017年11月29日 11:40:17   作者:忆如初  
这篇文章主要给大家介绍了关于在iOS中Label实现显示不同颜色与字体的相关资料,文中分别介绍了利用range或者文字两种实现的方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。

前言

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面试中如何优雅回答Block导致循环引用的问题

    iOS面试中如何优雅回答Block导致循环引用的问题

    这篇文章主要给大家介绍了iOS面试中关于如何优雅回答Block导致循环引用的问题的相关资料,文中通过图文介绍的非常相信,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-03-03
  • IOS 静态方法与动态方法详解

    IOS 静态方法与动态方法详解

    这篇文章主要介绍了IOS 静态方法与动态方法详解的相关资料,需要的朋友可以参考下
    2017-02-02
  • iOS应用开发中StoryBoard搭建UI界面的基本使用讲解

    iOS应用开发中StoryBoard搭建UI界面的基本使用讲解

    这篇文章主要介绍了iOS应用开发中StoryBoard搭建UI界面的基本使用,代码基于传统的Objective-C,需要的朋友可以参考下
    2016-02-02
  • UIWebView控件中字体大小和字体样式的修改

    UIWebView控件中字体大小和字体样式的修改

    本文主要介绍了UIWebView控件中字体大小和字体样式的修改,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • iOS开发之运动事件和远程控制

    iOS开发之运动事件和远程控制

    在iOS中事件分为三类:触摸事件:通过触摸、手势进行触发(例如手指点击、缩放),运动事件:通过加速器进行触发(例如手机晃动),远程控制事件:通过其他远程设备触发(例如耳机控制按钮)今天我们来详细探讨下运动事件和远程控制
    2016-04-04
  • iOS中UIAlertView警告框组件的使用教程

    iOS中UIAlertView警告框组件的使用教程

    需要注意的是在IOS8之后,UIAlertView和UIActionSheet这两个控件被UIAlertController代替,但是这两个控件依然可以使,下面我们就简单了解一下iOS中UIAlertView警告框组件的使用教程
    2016-05-05
  • iOS如何获取设备型号的最新方法总结

    iOS如何获取设备型号的最新方法总结

    在开发中,我们经常需要获取设备的型号以进行数据统计或者做不同的适配。这篇文章主要给大家介绍了关于iOS如何获取设备型号的最新方法,需要的朋友可以参考下
    2018-11-11
  • iOS开发实现转盘功能

    iOS开发实现转盘功能

    这篇文章主要为大家详细介绍了iOS开发实现转盘功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • iOS中创建Model的最佳实践记录

    iOS中创建Model的最佳实践记录

    这篇文章主要给大家介绍了关于iOS中创建Model的最佳实践,文中通过示例代码介绍的非常详细,对大家学习或者使用iOS具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-10-10
  • iOS Segment带滑动条切换效果

    iOS Segment带滑动条切换效果

    这篇文章主要为大家详细介绍了iOS Segment带滑动条切换,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03

最新评论