iOS使用NSMutableAttributedString实现富文本 在iOS开发中,常常会有一段文字显示不同的颜色和字体,或者给某几个文字加删除线或下划线的需求.之前在网上找了一些资料,有的是重绘UILabel的textLayer,有的是用html5实现的,都比较麻烦,而且很多UILabel的属性也不起作用了,效果都不理想.后来了解到NSMuttableAttstring(带属性的字符串),上面的一些需求都可以很简便的实现. 1.     实例化方法和使用方法 实例化方法: 使用字符串初始化…
在iOS开发中,常常会有一段文字显示不同的颜色和字体,或者给某几个文字加删除线或下划线的需求.之前在网上找了一些资料,有的是重绘UILabel的textLayer,有的是用html5实现的,都比较麻烦,而且很多UILabel的属性也不起作用了,效果都不理想.后来了解到NSMuttableAttstring(带属性的字符串),上面的一些需求都可以很简便的实现. 例如下图 实例化方法和使用方法 实例化方法: 使用字符串初始化 - (id)initWithString:(NSString *)str;…
转自: 在iOS开发中,常常会有一段文字显示不同的颜色和字体,或者给某几个文字加删除线或下划线的需求.之前在网上找了一些资料,有的是重绘UILabel的textLayer,有的是用html5实现的,都比较麻烦,而且很多UILabel的属性也不起作用了,效果都不理想.后来了解到NSMuttableAttstring(带属性的字符串),上面的一些需求都可以很简便的实现. 实例化方法和使用方法 实例化方法: 使用字符串初始化 - (id)initWithString:(NSString *)str;…
NSAttributedString NSAttributedString对象管理适用于字符串中单个字符或字符范围的字符串和关联的属性集(例如字体和字距).NSAttributedString对象的默认字体是Helvetica 12点,可能与平台的默认系统字体不同.因此,您可能希望创建适用于您的应用程序的非默认属性的新字符串.您还可以使用NSParagraphStyle类及其子类NSMutableParagraphStyle来封装NSAttributedString类使用的段落或标尺属性. 实例…
/iOS /[iOS] 利用 NSAttributedString 进行富文本处理 2016年4月4日 刘小龙 iOS 许多时候我们需要以各种灵活的形式展现文本信息,即富文本.普通的 text 属性显然无法满足要求,这时我们需要利用 Foundation 中的 NSAttributedString——属性字符串进行设置.拥有文本显示功能(text 属性)的 UI 控件也都拥有 attributedText 属性. 常用方法 和 NSString 及 Foundation 框架其它集合一样,NSA…
在iOS开发中,常常会有一段文字显示不同的颜色和字体,或者给某几个文字加删除线或下划线的需求.之前在网上找了一些资料,有的是重绘UILabel的textLayer,有的是用html5实现的,都比较麻烦,而且很多UILabel的属性也不起作用了,效果都不理想.后来了解到NSMuttableAttstring(带属性的字符串),上面的一些需求都可以很简便的实现. 实例化方法和使用方法 实例化方法: 使用字符串初始化 - (id)initWithString:(NSString *)str; 例: N…
NSAttributedString 叫做富文本,是一种带有属性的字符串,通过它可以轻松的在一个字符串中表现出多种字体.字号.字体大小等各不相同的风格,还可以对段落进行格式化,一般都是对可变富文本(NSMutableAttributedString)进行一些操作 一.NSMutableAttributedString 类的部分常用方法 // 在一定范围中添加单个文字属性 // 参数1:字符属性名 // 参数2:属性值 // 参数3:范围 - (void)addAttribute:(NSStrin…
NSAttributedString 叫做富文本,是一种带有属性的字符串,通过它可以轻松的在一个字符串中表现出多种字体.字号.字体大小等各不相同的风格,还可以对段落进行格式化,一般都是对可变富文本(NSMutableAttributedString)进行一些操作 一.NSMutableAttributedString 类的部分常用方法 // 在一定范围中添加单个文字属性 // 参数1:字符属性名 // 参数2:属性值 // 参数3:范围 - (void)addAttribute:(NSStrin…
//1.初始化与其他无异 NSMutableAttributedString *AttributedStr2 = [[NSMutableAttributedString alloc]initWithString:@"明鑫测试"]; //2.有两种写法方式可以根据习惯进行不同的书写 1.NSFontAttributeName:调整类型,很明显该类型是调整 字体的font(字体大小) 2.[UIFont systemFontOfSize:14.0],字体大小的设置也可用不同的字体 3.in…
UITextView的富文本组装,添加图片点击事件,启动 - (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange: 一切正常,但问题是长按的时候,会弹出下边(打开-拷贝-分享)弹框,原因是上函数的返回值引起.当返回值为YES时,文本在接收点击事件后, 会继续其他更多的事件监听.当返回NO后,则只处理此次点击事件,不再监听本次的其它事件,比如…
android中有的时候须要在TextView上设置一些超链接,点击这些超链接时进行一些操作.比如新浪微博上的一些keyword,点击时会跳转到对应的页面. 怎样实现我们就直接看源代码吧. /** * * created by Mr.Simple, Aug 21, 20141:51:40 PM. * Copyright (c) 2014, hehonghui@umeng.com All Rights Reserved. * * ##################################…
今天在做项目的过程中,我们的设计师想要一种字体四周都带阴影的效果,但是我们平时使用的setShadowColor 和setShadowOffset是达不到这种效果,setShadowOffset 只能让阴影在上下,左右 方向中都只能显示一个方向,达不到文字的四周都有阴影的这种效果.随后我们在查阅iOS SDK之后,发现可以通过attributedText的属性来设置字体的样式,经过测试是可以的. NSString *text = @"test"; NSMutableAttributed…
1. 改变指定字符的颜色 NSString * text = [NSString stringWithFormat:@"%@米",distance]; NSMutableAttributedString *attributedStr = [[NSMutableAttributedString alloc]initWithString:text]; [attributedStr addAttribute:NSForegroundColorAttributeName value:black…
- (NSMutableAttributedString *)mf_htmlAttribute:(NSString *)htmlString{ htmlString = [NSString stringWithFormat:@"<div>%@</div>",htmlString]; NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithDa…
<a style="padding-bottom: 1PX;border-bottom: 1PX #254fc5 solid;text-decoration: none;">…
private Run SplitRun(Run run, int position) { Run beforeRun = (Run)run.Clone(true); beforeRun.Text = run.Text.Substring(0, position); beforeRun.Font.Underline = Underline.Single; run.Text = run.Text.Substring(position); run.ParentNode.InsertBefore(be…
iOS--NSAttributedString超全属性详解及应用(富文本.图文混排)   ios项目中经常需要显示一些带有特殊样式的文本,比如说带有下划线.删除线.斜体.空心字体.背景色.阴影以及图文混排(一种文字中夹杂图片的显示效果).通常想要实现这些效果要使用到iOS的Foundation框架提供的NSAttributedString类,NSAttributedString类中有许多属性,不同属性对应不同的文本样式.本文主要对这些属性做一个解释说明,并会结合实际代码来应用它们. 1. NSA…
本文转载 http://blog.cnbang.net/tech/2630/ DTCoreText是个开源的iOS富文本组件,它可以解析HTML与CSS最终用CoreText绘制出来,通常用于在一些需要显示富文本的场景下代替低性能的UIWebView,来看看它是怎样解析和渲染HTML+CSS的,总体上分成两步: 数据解析—把HTML+CSS转换成NSAttributeString 渲染—用CoreText把NSAttributeString内容渲染出来,再加上图片等元素 本篇先介绍第一步,数据解…
概述 iOS一些复杂的文本布局一般都是由底层的Core Text来实现的,直到iOS7苹果发布了Text Kit框架,Text Kit能够很简单实现一些复杂的文本样式以及布局,而Text Kit富文本框架用到的核心数据结构就是属性化字符串NSAttributeString,本篇文章将介绍NSAttributeString一些常用属性和使用方法. 字体样式 NSAttributeString有很多属性提供来改变字体的样式,下面代码只是列出了一些常用的属性,如果想更改更多的字体样式请参考苹果官方文档…
agreeDeal = UILabel() //富文本,不同字体颜色大小和颜色 let labelString = "登录注册,表示您同意<服务条款及隐私政策>"as NSString let rang = labelString.rangeOfString("<") let firstRang = NSMakeRange(0, rang.location) let secondRang = NSMakeRange(rang.location, l…
富文本,顾名思义就是丰富的文本格式,本文demo使用NSMutableAttributedString //获取富文本 NSMutableAttributedString*attributeString_atts=[[NSMutableAttributedString alloc]initWithString:string]; //背景色 UIColor *backgroundColor=[UIColor whiteColor]; //字体 UIFont *font=[UIFont fontWi…
最近在开发项目,针对小程序前端,显示文本需要添加下划线问题,起初是通过border-bottom:1rpx solid #eee; 进行编写,但是总是觉得线的高度过于粗,移动端最小单位值是 1  即:1rpx 1px,高度设置0.3是不生效的,后面看到相关博客通过 scale进行划线,在这记录下: <div class="line-bottom"> zty </div> .line-bottom{ position:relative; } .line-botto…
NSMutableAttributedString继承于NSAttributedString(带属性的字符串)能够简单快速实现富文本的效果;不多说直接上效果图和代码,通俗易懂: (一)效果图: (二)代码: UILabel *testLabel = [[UILabel alloc]initWithFrame:CGRectMake(, , [[UIScreen mainScreen] bounds].size.width, )]; testLabel.textAlignment = NSTextA…
/NSMutableParagraphStyle/NSMutableAttributedString 组合使 NSString * titlestr=@"日产GT-R"; NSMutableParagraphStyle * paragraphstyle0 =[[NSMutableParagraphStyle alloc]init]; [paragraphstyle0 setLineSpacing:]; paragraphstyle0.alignment = NSTextAlignmen…
有时候开发中我们为了样式好看, 需要对文本设置富文本属性, 设置完后那么怎样计算其高度呢, 很简单, 方法如下: - (NSInteger)hideLabelLayoutHeight:(NSString *)content withTextFontSize:(CGFloat)mFontSize { NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; paragraphStyle.lin…
背景:前些天突然想做一个笔记本功能,一开始,觉得挺简单的呀,一个UITextView,网络缓存也不干了,直接本地NSUserDefault存储,然后完事了,美工,弄几张好看的图片,加几个动画,也就这样了.接着,按照惯例,查看已有的备忘录软件,其app store知名的软件:Weiconote等. 才发现没那么简单.这里先不考虑图文混排的问题,首先面对的就是:键盘隐藏之后,文字的位置移动问题啦.细心的体验后发现:系统的备忘录,已经一些做得好的软件,都会进行一些处理,例如: 1.当我编辑的时候,光标…
最近项目中用到了图文混排,所以就研究了一下iOS中的富文本,打算把研究的结果分享一下,也是对自己学习的一个总结. 在iOS中或者Mac OS X中怎样才能将一个字符串绘制到屏幕上呢?            简单来说,是通过控件来完成的,而这些控件都封装在UIKit框架中(对于Mac OS X是AppKit框架),在UIKit中常用来在屏幕上显示字符串的控件有3个:           UILabel           UITextField           UITextView      …
之前做项目时遇到一个问题: 使用UITextView显示一段电影的简介,由于字数比较多,所以字体设置的很小,行间距和段间距也很小,一大段文字挤在一起看起来很别扭,想要把行间距调大,结果在XCode中查遍其所有属性才发现,UITextView居然没有调整行间距的接口,于是忍住不心里抱怨了一下下. 但是问题还是要解决的,上网一查才发现,iOS不仅有富文本处理的功能,而且对于文字排版的处理能力那是相当的强大,看来我是孤陋寡闻了. 正题开始之前插播一点基础知识: 在iOS中或者Mac OS X中怎样才能…
默认是底部对齐,其实对的也不齐, 目标效果:  代码: NSBaselineOffsetAttributeName 基线偏移量: 调整: NSBaselineOffsetAttributeName的值得大小,就可以得到不同的对齐位置 CGFloat fontRatio = 0.16;//基线偏移比率 1 CGFloat fontRatio = 0.66;//基线偏移比率 1 - (void)viewDidLoad { [super viewDidLoad]; self.title = @"富文本…