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

互联网 驱动中国 云豹直播系统 1,240 次阅读 0 条评论
分享 Q

在进行直播系统开发时,有时候需要实现#标签#功能,虽然只是一个小功能,但是想要在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话题标签功能的教程,虽然功能很小,甚至有些不起眼,但也是需要代码实现的。这串直播系统代码就放送给大家了。

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

版权声明:本文由驱动中国整理发布,转载需注明出处与原文链接。如有疑问请联系 editor@qudong.com
本文价值 成为第一个评分的人
登录后为本文打分
网友评论0 条评论
正在回复 的评论取消
评论加载中…
🔐

登录后参与互动

评论、点赞均可赚积分
连续签到、邀请好友也有奖励 🎁

电脑端: 微信扫码登录 微信内: 一键登录

微信扫一扫

打开微信「扫一扫」,分享本文到朋友圈或好友