直播代码大放送,关于直播系统中实现IOS话题标签功能的教程

  • 来源: 驱动号 作者: 云豹直播系统   2020-07-02/09:26
  • 在进行直播系统开发时,有时候需要实现#标签#功能,虽然只是一个小功能,但是想要在iOS系统中通过富文本的形式实现却并没有那么简单。接下来就为各位简单分享下,如何在直播系统中实现IOS话题标签功能:

    f37f0247c3d96de748f332a15e0c0312.jpg

    场景一:

    如上图中的“新”、“热”标签,在这种情况下我们就不好使用图片了。

    NSString *flagStr = minstr([flagDic valueForKey:@"name"]);

    NSString *flagColStr = minstr([flagDic valueForKey:@"colour"]);

    UIColor *flagBgCol = RGB_COLOR(flagColStr, 1);

    NSMutableParagraphStyle *paragraph = [[NSMutableParagraphStyle alloc]init];

    paragraph.alignment = NSTextAlignmentCenter;

    paragraph.lineSpacing = 3;

    paragraph.hyphenationFactor = 1.0;

    NSString*itemName = [NSString stringWithFormat:@"%@ %@",titleStr,flagStr];

    NSMutableAttributedString *titleAttrStr = [[NSMutableAttributedString alloc] initWithString:itemName attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:tFont],NSParagraphStyleAttributeName: paragraph,NSForegroundColorAttributeName:UIColor.whiteColor}];

    //设置标签的背景色

    YYTextBorder *border = [YYTextBorder new];

    border.fillColor= flagBgCol;

    //调整Insets更改背景显示位置

    border.insets= UIEdgeInsetsMake(-4, -2, -1, -2);

    border.cornerRadius = 3;

    [titleAttrStr yy_setTextBackgroundBorder:border range:NSMakeRange(titleStr.length+1, flagStr.length)];

    //设置标签的文本颜色

    [titleAttrStr yy_setColor:[UIColor whiteColor] range:NSMakeRange(titleStr.length+1, flagStr.length)];

    //设置标签文本的字号

    [titleAttrStr yy_setFont:[UIFont systemFontOfSize:(tFont-4)]range:NSMakeRange(titleStr.length+1, flagStr.length)];

    //小字号偏移

    [titleAttrStr addAttribute:NSBaselineOffsetAttributeName value:@(0.66*4) range:NSMakeRange(titleStr.length+1, flagStr.length)];

    b6afc0193a51118b7b89f53ee983ebb1.jpg

    场景二:

    WeakSelf;

    NSMutableAttributedString *text = [[NSMutableAttributedString alloc] initWithString:@"...查看更多》"];

    YYTextHighlight *hi = [YYTextHighlight new];

    [hi setColor:[UIColor whiteColor]];

    hi.tapAction = ^(UIView *containerView,NSAttributedString *text,NSRange range, CGRect rect) {

    //

    MoreSingnatureVC *moreVC = [[MoreSingnatureVC alloc]init];

    moreVC.signatureStr = weakSelf.headerV.signatureL.text;

    moreVC.hidesBottomBarWhenPushed = YES;

    [self.navigationController pushViewController:moreVC animated:YES];

    };

    [text yy_setColor:RGB_COLOR(@"#969696", 1) range:[text.string rangeOfString:@"..."]];

    [text yy_setColor:[UIColor whiteColor] range:[text.string rangeOfString:@"查看更多》"]];

    [text yy_setTextHighlight: hi range:[text.string rangeOfString:@"...查看更多》"]];

    text.yy_font = SYS_Font(14);

    YYLabel *seeMore = [YYLabel new];

    seeMore.attributedText = text;

    [seeMore sizeToFit];

    NSAttributedString *truncationToken = [NSAttributedString yy_attachmentStringWithContent:seeMore contentMode:UIViewContentModeCenter attachmentSize: text.size  alignToFont:text.yy_font alignment:YYTextVerticalAlignmentCenter];

    _headerV.signatureL.truncationToken = truncationToken;

    以上就是关于直播系统中实现IOS话题标签功能的教程,虽然功能很小,甚至有些不起眼,但也是需要代码实现的。这串直播系统代码就放送给大家了。

    声明:本文由 驱动号作者:云豹直播系统 原创,转载须备注作者。


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交
    文章数: {{userinfo.count}}
    访问量: {{userinfo.zongrenqi}}

    驱动号 更多