驱动中国直播代码大放送,关于直播系统中实现IOS话题标签功能的教程
在进行直播系统开发时 , 有时候需要实现#标签#功能 , 虽然只是一个小功能 , 但是想要在iOS系统中通过富文本的形式实现却并没有那么简单 。 接下来就为各位简单分享下 , 如何在直播系统中实现IOS话题标签功能:
本文插图
【驱动中国直播代码大放送,关于直播系统中实现IOS话题标签功能的教程】场景一:
如上图中的“新”、“热”标签 , 在这种情况下我们就不好使用图片了 。
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)];
本文插图
场景二:
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];
- 【】中国十大忙碌城市出炉:前三不是北上广!来看看有你家吗?
- 基金|中芯国际发行价为27.52元 中国信科和国家集成电路基金参与
- 阿拉图图科技说三星新机口碑虽好,但中国市场销量翻车,用户几乎跑光!
- 驱动中国无缘屏下摄像头!华为Mate 40系列爆料:双曲面设计
- 驱动中国腾讯内部人士爆料:与“老干妈”合作多个环节有漏洞 却无人察觉
- 驱动中国首发AMD锐龙9处理器 华硕天选游戏本元气蓝开箱图赏
- 驱动之家Linux之父Linus Torvalds:我早就不编程了、工作就是说不
- 文汇网AI力量大集结!中国团队首次在国际顶级学术期刊发布中国AI全景论文
- 中国新闻网|日本东京都知事选举结束 日媒:小池百合子确定胜选
- 澎湃新闻|新中国第一代国脚李朝贵逝世,享年95岁