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

相关文章

来自专栏技术小黑屋

控制RecyclerView Item的宽度

自从Android中引入RecyclerView之后,它就逐步的替换掉了ListView和GridView。本文很简单,行文目的是记录和备忘。如果能帮到你,那再...

1841
来自专栏谈补锅

工作中碰到的js问题(disabled表单元素不能提交到服务器)

今天碰到一个奇葩的问题,asp页面表单提交后,有一个文本框<input type="text" name="phone" id="phone" />在后台获取不...

1142
来自专栏HT

基于HT for Web矢量实现HTML5文件上传进度条

在HTML中,在文件上传的过程中,很多情况都是没有任何的提示,这在体验上很不好,用户都不知道到时有没有在上传、上传成功了没有,所以今天给大家介绍的内容是通过HT...

1959
来自专栏Android 开发学习

recyclerView 进阶知识

1484
来自专栏非典型技术宅

iOS动画系列之四:基础动画之平移篇2. 创建不同速度控制的动画3. Swift版本的部分差异

1672
来自专栏非著名程序员

基础篇章:关于 React Native 之 ViewPagerAndroid 组件的讲解

今天我们来讲解一下关于 ViewPager 的使用,它是一个允许子视图左右滚动翻页的容器。而且每一个 ViewPagerAndroid 的子容器会被视作一个单独...

2165
来自专栏hightopo

基于HT for Web矢量实现HTML5文件上传进度条

1192
来自专栏HT

HTML5矢量实现文件上传进度条

在HTML中,在文件上传的过程中,很多情况都是没有任何的提示,这在体验上很不好,用户都不知道到时有没有在上传、上传成功了没有,所以今天给大家介绍的内容是通过HT...

3438
来自专栏Alan's Lab

[swift]读取svg图片为UIBezierPath,开心做动画

最近手痒又想整点动画玩玩,但是想了几个主意发现稍微复杂一点的手写都一定会累爆。这篇文章记录一下今天折腾的一个方案。说来简单,就是用矢量设计工具舒舒服服的做好设计...

1112
来自专栏滕先生的博客

UIGestureRecognizer  手势识别一、概念介绍二、UIView 的分类三、UIGestureRecognizer 抽象类四、UIGestureRecognizerDelegate 代理

3558

扫码关注云+社区