iOS开发 UIlabel完美封装 富文本的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS开发 UIlabel完美封装 富文本的使用相关的知识,希望对你有一定的参考价值。

参考技术A 这两天闲着没事封装了下UILabel,适用于绝大多数用户需求,UIlabel 辨别用户名 ,话题 ,链接,电话,高亮文字等,链接跳转网页,电话点击拨打电话

动图显示:(链接跳转浏览器,拨打电话,应有尽有)

大家感觉好的话可以关注一波,github上点波star 后续封装UIButton
在发到这篇文章中来。

当我们要显示不同颜色字体,下划线,删除线等等一些特殊属性时,我们就必须要利用富文本(NSMutableAttributedString)来实现。
废话不多说,今天我主要说说UIlabel富文本的使用,(其它显示字符串控件使用方法类似)自己可以以此类推。

首先,我们看看NSMutableAttributedString的使用方法
1.实例化方法:使用字符串初始化

实现效果如下图(我这个是写在cell中的)

在此就只写删除线的事例,其它类似
关于字体大小,颜色,下划线等等,如下:

2.富文本常见的属性及说明

iOS-Swift3富文本(UILable文本图文混排)

转载注明出处:http://blog.csdn.net/qxuewei/article/details/53213636
介绍下iOS开发中常用的符文布图文混排
需求: 邱学伟是大帅哥(加个笑脸图片) 邱学伟:红色背景绿色字体加粗显示 是:蓝色字体 10号小字体 大帅哥:灰色42号字体
UILabel中显示结果:
这里写图片描述

原谅我跟哥们开玩笑起的low爆了的项目名
核心代码:

//需求 邱学伟是大帅哥(加个笑脸图片)   邱学伟:红色背景绿色字体加粗显示   是:蓝色字体 10号小字体  大帅哥:灰色42号字体
    fileprivate func FuWenBenDemo() {

        //定义富文本即有格式的字符串
        let attributedStrM : NSMutableAttributedString = NSMutableAttributedString()

        //邱学伟
        let qiuxuewei : NSAttributedString = NSAttributedString(string: "邱学伟", attributes: [ NSBackgroundColorAttributeName : UIColor.red,NSForegroundColorAttributeName : UIColor.green, NSFontAttributeName : UIFont.boldSystemFont(ofSize: 28.0)]) //(string: "邱学伟")
        //是
        let shi : NSAttributedString = NSAttributedString(string: "是", attributes: [NSForegroundColorAttributeName : UIColor.blue, NSFontAttributeName : UIFont.systemFont(ofSize: 10.0)])
        //大帅哥
        let dashuaige : NSAttributedString = NSAttributedString(string: "大帅哥", attributes: [NSForegroundColorAttributeName : UIColor.lightGray, NSFontAttributeName : UIFont.systemFont(ofSize: 42.0)])
        //笑脸图片
        let smileImage : UIImage = UIImage(named: "d_hehe")!
        let textAttachment : NSTextAttachment = NSTextAttachment()
        textAttachment.image = smileImage
        textAttachment.bounds = CGRect(x: 0, y: -4, width: 22, height: 22)

        attributedStrM.append(qiuxuewei)
        attributedStrM.append(shi)
        attributedStrM.append(dashuaige)
        attributedStrM.append(NSAttributedString(attachment: textAttachment))

        label.attributedText = attributedStrM
    }

完整项目链接:https://git.oschina.net/qxuewei/AttributedStringDemo

以上是关于iOS开发 UIlabel完美封装 富文本的使用的主要内容,如果未能解决你的问题,请参考以下文章

关于iOS富文本使用

iOS富文本

iOS使用NSMutableAttributedString 实现富文本(不同颜色字体下划线等)

富文本设置文字颜色和字体

OS开发小记:iOS富文本框架DTCoreText在UITableView上的使用

iOS-Swift3富文本(UILable文本图文混排)