一个简单的富文本标签

  • 先看看设计稿、


    一个简单的富文本标签_第1张图片
    18B9D3FF-D560-462F-94EA-660702034595.png

    需求是这个样子的,一段文字存在一些子串的颜色和文本颜色不一样
    那么我们需要的参数就是
    1.文本内容
    2.需要突出显示的文字(可能是多个)
    3.突出显示的文字颜色(可能是多个)

  • 头文件

/**
 *  富文本标签
 *
 *  @param frame               Frame
 *  @param txt                 整体内容
 *  @param attribuateText      需要突出显示的文字
 *  @param attribuateTextColor 需要突出显示的文字颜色
 *
 *  两个数组长度必须一致
 *  @return Instance
 */
- (instancetype)initWithFrame:(CGRect)frame
                         text:(NSString*)txt
               attribuateText:(NSArray*)attribuateText
          attribuateTextColor:(NSArray*)attribuateTextColor;
  • 具体实现
- (instancetype)initWithFrame:(CGRect)frame
                         text:(NSString*)txt
               attribuateText:(NSArray*)attribuateText
          attribuateTextColor:(NSArray*)attribuateTextColor
{
    if (self = [super initWithFrame:frame])
    {
        NSMutableAttributedString * attribuateStr = [[NSMutableAttributedString alloc] initWithString:txt];
        for (int i = 0; i
  • 这个里面还存在的问题
    1.两个数组参数未作类型的限制
    2.对两个数组长度的一致性未做处理
    3.填入attribuateText中的内容必须为txt的子串
    有需要的小伙伴可以自行加上去~

你可能感兴趣的:(一个简单的富文本标签)