iOS 富文本编辑器

之前项目是用H5写的编辑器,效果不好,想着用原生自己好操作些,百度搜索一下,发现ZSSRichTextEditor很好用。

项目需求就是类似于实现富文本功能,可以换行,左右对齐,修改字体颜色等,选择这个的原因不光因为它可以实现以上功能,他还可以把输入好的文字转换成html。

但是ZSSRichTextEditor不能修改字体,中文输入可以,英文却不可以,查看代码:

case ZSSFontFamilyPalatino:
        fontFamilyString = @"Palatino Linotype, Book Antiqua, Palatino, serif";
        break;

因为demo里的字体不支持中文,就自动显示默认了... 改成:

    case ZSSFontFamilyPalatino:
        fontFamilyString = @"STHeitiSC-Light";
        break;

最后github源码地址:https://github.com/nnhubbard/ZSSRichTextEditor

  2.在这里拿到的html标签label如何显示呢?

直接上代码如下:

     NSString *htmlString =self.model.buyKnow;
        NSAttributedString *attrStr = [[NSAttributedString alloc]initWithData:[htmlString dataUsingEncoding:NSUnicodeStringEncoding]                                             options:@{NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType}
                                                           documentAttributes:nil error:nil];
        _buyRuleLabel.numberOfLines = 0;
        [_buyRuleLabel setAttributedText:attrStr];
        CGFloat h = [_buyRuleLabel sizeThatFits:CGSizeMake(kScreenWidth-50,CGFLOAT_MAX)].height;
        _buyRuleLabel.frame = CGRectMake(10,
                                         10,
                                         WindowWith-20,
                                         h+20);
        _buyRuleLabel.font = [UIFont systemFontOfSize:titleFont];
        _buyRuleLabel.textColor = titleColor;

我的项目中需要在拿到标签后,颜色,字体为显示做改变,我一直改变的是富文本希望在此基础上实现。 NSDictionary *optoins=@{NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType, NSFontAttributeName:[UIFont systemFontOfSize:30],NSForegroundColorAttributeName:[UIColor whiteColor]};

但是,没有任何的用,于是我的实现方法是在后面又重新加上 : _buyRuleLabel.font = [UIFont systemFontOfSize:titleFont]; _buyRuleLabel.textColor = titleColor;

另一种办法是一网友说:直接从 html入手,直接拼接html,在最外面加个span。 如下图: 原标签为:

<span style="color:black">黑色样式</span>无样式</span>

更改后的标签:

  <span style="color: your color here"><span style="color:black">黑色样式</span>无样式</span>

这样就直接实现了改变NSAttributedString的默认字体颜色的问题了!

有更好的办法,欢迎指教哈~

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏pangguoming

Spring Boot集成JasperReports生成PDF文档

由于工作需要,要实现后端根据模板动态填充数据生成PDF文档,通过技术选型,使用Ireport5.6来设计模板,结合JasperReports5.6工具库来调用渲...

1.2K7
来自专栏hbbliyong

WPF Trigger for IsSelected in a DataTemplate for ListBox items

<DataTemplate DataType="{x:Type vm:HeaderSlugViewModel}"> <vw:HeaderSlug...

4054
来自专栏张善友的专栏

Miguel de Icaza 细说 Mix 07大会上的Silverlight和DLR

Mono之父Miguel de Icaza 详细报道微软Mix 07大会上的Silverlight和DLR ,上面还谈到了Mono and Silverligh...

2677
来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

3985
来自专栏张善友的专栏

Silverlight + Model-View-ViewModel (MVVM)

     早在2005年,John Gossman写了一篇关于Model-View-ViewModel模式的博文,这种模式被他所在的微软的项目组用来创建Expr...

2938
来自专栏落花落雨不落叶

canvas画简单电路图

59611
来自专栏闻道于事

js登录滑动验证,不滑动无法登陆

js的判断这里是根据滑块的位置进行判断,应该是用一个flag判断 <%@ page language="java" contentType="text/html...

6658
来自专栏跟着阿笨一起玩NET

c#实现打印功能

2622
来自专栏陈仁松博客

ASP.NET Core 'Microsoft.Win32.Registry' 错误修复

今天在发布Asp.net Core应用到Azure的时候出现错误InvalidOperationException: Cannot find compilati...

4818
来自专栏大内老A

The .NET of Tomorrow

Ed Charbeneau(http://developer.telerik.com/featured/the-net-of-tomorrow/) Exciti...

30810

扫码关注云+社区