iOS富文本为html时,修改默认字体颜色
有如下这样的html
颜色样式无样式你想要在label控件上,通过富文本方式进行显示,而label的textColor为白色,这时候,你希望“无样式”的字体颜色为白色的。但是富文本没有设置ForgroundColor的情况下,字体颜色默认为黑色的。而且forgroundColor和label的textColor的设置是处于同一个水平的,你后设置的那个总是会覆盖掉先设置的那个。所以这样就导致了一个问题“无样式”字体的颜色不会显示白色,而是黑色的。
如果html是确定的,那么可以考虑通过便利的方式进行实现。对于不确定的html,一个很好的思路是想办法修改富文本的默认字体颜色。我的第一个想法就是从NSAttributedString的属性入手,可是找了半天都没有找到办法来。还有一个比较笨的办法就是通过NSAttributedString的遍历方法去找color为黑色(默认颜色)的字符串,但是这个方法有一个问题,如下html
黑色样式无样式【iOS富文本为html时,修改默认字体颜色】本身的html设置的字体颜色为黑色的时候,遍历的方法就会变得很尴尬。
想了半天还是没有解决,灵感一闪,oc解决不了,那么就从html入手吧,直接拼接html,在最外面加个span。 如下所示:
黑色样式无样式这样就直接实现了改变NSAttributedString的默认字体颜色的问题了,哈哈哈。
有更好的办法,欢迎指教哈~
推荐阅读
- 2020-04-07vue中Axios的封装和API接口的管理
- 《失落的百年致富圣经》读后感
- iOS中的Block
- 合理情绪疗法之试用|李克富思维训练营56/90
- 2018-09-03(李克富视角点评训练营81/90)|2018-09-03(李克富视角点评训练营81/90) 那只蛙从“井”爬出来又进入了“隧道”
- 幸福是个比较级
- 记录iOS生成分享图片的一些问题,根据UIView生成固定尺寸的分享图片
- 财富自由之路
- 2019-08-29|2019-08-29 iOS13适配那点事
- Hacking|Hacking with iOS: SwiftUI Edition - SnowSeeker 项目(一)