手机直播app制作时怎样在iOS中实现富文本
我们在观看直播时,经常会看到有的主播房间名字下面带有话题小标签,比如#搞笑的一天##悲伤的瞬间##双十一买了点啥#等,虽然看起来是很小的一个功能,但是在进行手机直播app制作时,在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];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;
以上就是进行手机直播app制作时在iOS中实现富文本的大概流程,可见直播app中小到不起眼的功能也是需要代码实现的。如果想要了解更多关于手机直播app制作的内容,可继续关注。
声明:本文由作者原创,转载须备注文章来源与作者。
手机直播app制作时怎样在iOS中实现富文本相关推荐
- 直播app动态录音功能,是怎样在手机直播app制作时实现的
有很多朋友喜欢在玩直播app的时候发布动态,因为直播平台内的动态是大家实现动态社交的一种方式,不仅可以让用户更加真实地了解主播,还可以与主播实现直播以外的互动交流.那么这个深受大家喜爱的功能是如何在手 ...
- 搭建PHP直播系统源码的教程,手把手教你手机直播app制作
如果你有一份PHP直播系统源码,那你一定需要这份搭建教程,作为手机直播app制作的最后一步,"搭建"成为了不少人的心头痛,现在就让我们一起来看看,PHP直播系统源码该如何搭建吧! ...
- 精读数据,2020年手机直播app制作备受瞩目的几大方向预测
2020年,伴随着复工潮,各大数据报道中心发布了种种数据报道,范围包括而不限于疫情期间人民生活行为研究.人民上网习惯研究及网络行业的发展,下面就由小编带领大家,精读数据,顺便预测2020年,手机直播a ...
- 直播APP制作时即时聊天功能实现
目前直播app制作很火,直播中的即时聊天功能必不可少.云豹直播作为优质的直播平台源码提供商,在即时聊天功能方面必有其独到之处,下面为大家从如何实现即时聊天这个功能上答疑解惑. 即时聊天这个需求在很多a ...
- 制作好的app需要服务器吗,在直播app制作过程中,服务器是如何配置的?
不论是一对多直播还是一对一直播app制作,关于服务器的配置和成本是大多数运营商比较关心和头疼的问题.一般来说,在直播app运营的每个阶段,所安排的服务器台数和负责的功能都是不一样的.那么如何在有限的成 ...
- 14、iOS里面的富文本
iOS里面的富文本 1.NSAttributedString属性概览表 2.属性详解及应用 2.1 NSAttributedString.Key.font --字体大小 2.2 NSAttribute ...
- 【云豹直播系统】专业制作仿映客手机直播app、视频直播系统
从去年开始,视频直播软件已在大众的娱乐生活中悄然走红,由PC端过渡到手机端的视频直播甚是火爆.在APP上,主播们可以通过手机摄像头,即时与粉丝聊天互动,让网友见识到移动直播的魅力.火爆远不止如此,国内 ...
- 长春APP开发公司揭秘让百万用户热门下载的APP制作时掌握的技巧
当今,互联网已经渗透了生活的各个领域了,而手机应用APP自然成为了不少企业及个人提升品牌形象.传递信息的佳选择.一家企业拥有一款APP是再正常不过的事情,手机APP软件不仅是全新的企业信息管理平台,还 ...
- 直播APP开发时需要注意的问题!
2019独角兽企业重金招聘Python工程师标准>>> 想要开发APP的客户一般找开发商最多的就是问价格和二次开发问题,在这里,我奉劝大家不能够只是为了贪图小便宜去找那些价格低廉的开 ...
最新文章
- pythonjson构建二维数组_python二维键值数组生成转json的例子
- VS2003 找不到IsProcessInJob()
- 使用 NOR Flash 中的supervivi 下载裸机程序到NandFlash
- what is the thinking routine of the open source?
- TCPIP / MTU 和 MSS 的区别和联系
- SQL读书笔记_With Clause的注意事项
- java compareandset 包_Java AtomicReferenceArray compareAndSet()用法及代码示例
- github 进阶说明
- .net多层结构 sql注入
- windows 串口中断编程_万变不离其宗之单片机串口共性问题
- 需要注意的一些Mysql语句
- 软件工程(2018)第三次团队作业
- 2021-06-19表单,内嵌框架
- IntelliJ IDEA设置不自动打开最后关闭的项目
- Android HandlerThread 消息循环机制之源代码解析
- Java实现鉴权失败达到一定次数锁定IP并释放到期IP
- spring 自带的定时器task
- 升级jdk版本后,出现SecurityException: JCE cannot authenticate the provider BC
- Kafka分区副本重分配源码分析
- UCC21755QDWRQ1引脚图TPS92667QPHPRQ1汽车级驱动芯片