美文网首页
通过xib实现富文本

通过xib实现富文本

作者: 今天写明天改 | 来源:发表于2021-06-14 22:58 被阅读0次

    介绍

    富文本,也就是NSMutableAttributedString 和NSAttributedString,大家使用的时候都不陌生,今天想介绍的是富文本的xib实现。

    常见场景

    假如设计出了一个彩虹的图案🌈,需要让你写一给它写个介绍,那自然跑不了赤橙黄绿青蓝紫这几个颜色,但是,设计说,每个字的颜色都要和字的意思对应,自然,最简单的办法是三板斧 初始化、添加、赋值。

    例如

    var text = NSMutableAttributedString(string: "赤", attributes: [NSAttributedString.Key.foregroundColor : UIColor.red])  

    let orangeAttributedText = NSAttributedString(string: "橙", attributes: [NSAttributedString.Key.foregroundColor : UIColor.orange])

    text.append(orangeAttributedText)

    然后重复这个过程5次,把各个颜色都加进去,最后

    label.attributedText = text

    但是 这样会导致我们写14行的代码,如果设计需要特定的字号,那么我们还需要加7次属性。

    这自然不是我们所愿意看见的,于是有了下面介绍的办法

    解决方法

     i. 首先选中控件,在attributes Inspector面板选中title或者text区域

    像这样

    attributes Inspector

     ii. 然后点击fonts的图标,打开fonts的面板可以根据需要设置全部文本的字号

    fonts图标和面板

     iii. 因为文本需要不同的属性,这个时候可以在attributes Inspector面板中选择要添加属性的文本,然后选择需要的属性,然后对每段需要添加属性的文本都做同样操作,注意一定要选中文本才能生效。

    如下图

    给部分文本添加属性

    大家可以在这里看到,富文本的样式例如背景色和前景色,等各个属性都可以在这里直接设置,而且各个文本的样式独立。基本能满足大家的需求,

    另外大家也可以看到,缺点在于动态配置的文本是不可以直接在xib设置的。有动态配置的需求还是需要靠代码

    相关文章

      网友评论

          本文标题:通过xib实现富文本

          本文链接:https://www.haomeiwen.com/subject/mltaeltx.html