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

时间: 2024-10-03 20:51:24

iOS-Swift3富文本(UILable文本图文混排)的相关文章

iOS系列教程之TextKit实现图文混排读后记

iOS系列教程之TextKit实现图文混排读后记 前两天看搜狐家明哥写的<TextKit实现图文混排> 今晚回家看了下API发现了一个更加取巧的实现方式.可以直接将后台返回的html富文本用textView显示出来. 记得两年前当时做这个的时候还是借助了笨重的webview. > Textkit是iOS7新推出的类库,其实是在之前推出的CoreText上的封装,有了这个TextKit,以后不用再拿着CoreText来做累活了, 下面是我分别用UITextView 和UIWebView 显

IOS总结_实现UIButton的图文混排,同时显示文字和图片

我们常常需要用到按钮需要文字和图片同时显示,例如: 我们需要定义一个UIButton的子类 实现文件 - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { //可根据自己的需要随意调整 self.titleLabel.textAlignment=NSTextAlignmentRight; self.titleLabel.font=[UIFont systemFontOfSize:14

IOS开发之使用UIWebView实现图文混排

IOS开发之使用UIWebView实现图文混排时间 2014-08-15 13:45:35  CSDN博客原文  http://blog.csdn.net/wildcatlele/article/details/38583731主题 UIWebView一开始做第一个新闻资讯项目的时候,不知道可以使用UIWebView实现图文并茂的效果,于是就用了最笨的方法,使用TableView解决的新闻浏览.当有点项目经验后知道可以使用UIWebView或者CoreText实现,一直也没有尝试.当上次面试被问

IOS开发UI篇--一个支持图文混排的ActionSheet

一.简单介绍 UIActionSheet是IOS提供给我们开发人员的底部弹出菜单控件.一般用于菜单选择.操作确认.删除确认等功能.IOS官方提供的下面方式对UIActionView进行实例化: - (instancetype)initWithTitle:(NSString *)title delegate:(id<UIActionSheetDelegate>)delegate cancelButtonTitle:(NSString *)cancelButtonTitle destructive

IOS总结_实现UIButton的图文混排(二)

很久没有写博客了,之前写过一篇关于UIButton图文混排的,但是有点复杂,今天来一个比较简单地,相信大家回用得着 UIButton *button=[[UIButton alloc] initWithFrame:CGRectMake(60, 90, 100, 40)]; //加文字 [button setTitle:@"描述文字" forState:UIControlStateNormal]; [button setTitleColor:[UIColor redColor] forS

Coretext实现富文本图文混排及Gif图片播放

CoreText是iOS3.2推出的一套文字排版和渲染框架,可以实现图文混排,富文本显示等效果. CoreText中的几个重要的概念:  CTFont CTFontCollection CTFontDescriptor CTFrame CTFramesetter CTGlyphInfo CTLine CTParagraphStyle CTRun CTTextTab CTTypesetter 先来了解一下该框架的整体视窗组合图: CTFrame 作为一个整体的画布(Canvas),其中由行(CTL

iOS开发日记21-7.0之后的图文混排

今天博主有一个图文混排的需求,遇到了一些困难点,在此和大家分享,希望能够共同进步. iOS7.0以前,图文混排主要有两种方法:1.WebView+js  2.coreText iOS7.0之后,苹果提供了新的封装,让图文混排更加的简便,也就是第三种方法:3.TextKit 今天就和大家详细的分享一下这三种图文混排的方法 1.webview+js的方法其实很简单,下面贴出代码,各位自行研究 去除webView滚动时,上下的白边. - (void)clearWebViewBackground:(UI

高性能图文混排框架,构架顺滑的iOS应用-b

About GallopGallop是一个功能强大.性能优秀的图文混排框架. Features主要用于解决以下需求: 滚动列表的性能优化.Gallop使用异步绘制.视图层级合并.观察mainRunloop.对布局模型预先缓存等方法,能在实现复杂的图文混排界面时,仍然保持一个相当优秀的滚动性能(FPS基本保持在60). 项目内有使用Gallop构建的微信朋友圈Demo 实现图文混排界面,比如在文本中添加表情,对文字添加点击链接.Gallop还提供了方便的方法可以直接完成表情.URL链接.@用户.#

iOS实现简单图文混排效果

在很多新闻类或有文字展示的应用中现在都会出现图文混排的界面例如网易新闻等,乍一看去相似一个网页,其实这样效果并非由UIWebView 加载网页实现.现在分享一种比较简单的实现方式 iOS sdk中为我们提供了一套完善的文字排版开发组件:CoreText.CoreText库中提供了很多的工具来对文本进行操作,例如CTFont.CTLine.CTFrame等.利用这些工具可以对文字字体每一行每一段落进行操作. 此例中默认图片都在右上方,且为了美观和开发简便设定所占宽度都相同. 首先,需要引入Core