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 条评论
登录 后参与评论

相关文章

来自专栏進无尽的文章

兼容 - 纯代码完美适配 iPhoneX

本文主要针对适配 iPhoneX列出一些关键点,仔细阅读可完美适配 iPhoneX,其中还有一些是适配 iOS11的, 话不多少,开始正餐。

2272
来自专栏数据结构与算法

博客园富强民主文明和谐样式

最近很多人问我这个东西是怎么实现的。 那我就分享一下吧 :grin: <!--富强民主点击特效--> <script type="text/javascript...

3348
来自专栏Coding01

推荐一款快速生成海报的微信小插件

现在很多小程序都有生成海报,分享海报的功能。我们自己的几个小程序 (如:爸妈搜商城、爸妈搜云课堂、幼师大学、跟着外教学英语等) 也都有生成海报的功能。因此技术团...

1203
来自专栏hrscy

iOS百度地图开发中遇到的问题

由于项目需要地图功能,公司决定使用百度地图,但是百度地图也有很多问题,现在总结一下在百度地图中遇到的坑,希望给各位看官一点参考,避免走一些弯路.我使用的百度地图...

482
来自专栏kwcode

javascript 模拟按键点击提交

上代码 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta...

33310
来自专栏河湾欢儿的专栏

01-工具 面板 视图

网页分为两步: 1.从设计稿中切出网页素材 比如说:按钮 logo 图片 背景等 2.编写代码,按效果图实现静态页面

781
来自专栏王大锤

swift textView内容显示不全

  意见反馈页面有一行提示文字,包含客服QQ,要求qq可点击。为了实现点击功能,这里的文本没有使用UILabel,而是采用了UITextView,使用textV...

652
来自专栏一“技”之长

iOS中UITableViewController自带的刷新控件

        在iOS开发中,使用tableView的界面,大多会用到一个下拉刷新的的控件,第三方库中,我们一般会选择比较好用的MJRefresh,其实,在i...

683
来自专栏Flutter入门

Flutter开发实战分析-animation_demo瞎复写总结

以下代码基本参考于 flutter_gallery中的animation_demo示例。(可以结合本文看源码)

1633
来自专栏DannyHoo的专栏

设置圆角图片的两种方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

1072

扫码关注云+社区