我们在观看直播时,经常会看到有的主播房间名字下面带有话题小标签,比如#搞笑的一天##悲伤的瞬间##双十一买了点啥#等,虽然看起来是很小的一个功能,但是在进行手机直播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中实现富文本相关推荐

  1. 直播app动态录音功能,是怎样在手机直播app制作时实现的

    有很多朋友喜欢在玩直播app的时候发布动态,因为直播平台内的动态是大家实现动态社交的一种方式,不仅可以让用户更加真实地了解主播,还可以与主播实现直播以外的互动交流.那么这个深受大家喜爱的功能是如何在手 ...

  2. 搭建PHP直播系统源码的教程,手把手教你手机直播app制作

    如果你有一份PHP直播系统源码,那你一定需要这份搭建教程,作为手机直播app制作的最后一步,"搭建"成为了不少人的心头痛,现在就让我们一起来看看,PHP直播系统源码该如何搭建吧! ...

  3. 精读数据,2020年手机直播app制作备受瞩目的几大方向预测

    2020年,伴随着复工潮,各大数据报道中心发布了种种数据报道,范围包括而不限于疫情期间人民生活行为研究.人民上网习惯研究及网络行业的发展,下面就由小编带领大家,精读数据,顺便预测2020年,手机直播a ...

  4. 直播APP制作时即时聊天功能实现

    目前直播app制作很火,直播中的即时聊天功能必不可少.云豹直播作为优质的直播平台源码提供商,在即时聊天功能方面必有其独到之处,下面为大家从如何实现即时聊天这个功能上答疑解惑. 即时聊天这个需求在很多a ...

  5. 制作好的app需要服务器吗,在直播app制作过程中,服务器是如何配置的?

    不论是一对多直播还是一对一直播app制作,关于服务器的配置和成本是大多数运营商比较关心和头疼的问题.一般来说,在直播app运营的每个阶段,所安排的服务器台数和负责的功能都是不一样的.那么如何在有限的成 ...

  6. 14、iOS里面的富文本

    iOS里面的富文本 1.NSAttributedString属性概览表 2.属性详解及应用 2.1 NSAttributedString.Key.font --字体大小 2.2 NSAttribute ...

  7. 【云豹直播系统】专业制作仿映客手机直播app、视频直播系统

    从去年开始,视频直播软件已在大众的娱乐生活中悄然走红,由PC端过渡到手机端的视频直播甚是火爆.在APP上,主播们可以通过手机摄像头,即时与粉丝聊天互动,让网友见识到移动直播的魅力.火爆远不止如此,国内 ...

  8. 长春APP开发公司揭秘让百万用户热门下载的APP制作时掌握的技巧

    当今,互联网已经渗透了生活的各个领域了,而手机应用APP自然成为了不少企业及个人提升品牌形象.传递信息的佳选择.一家企业拥有一款APP是再正常不过的事情,手机APP软件不仅是全新的企业信息管理平台,还 ...

  9. 直播APP开发时需要注意的问题!

    2019独角兽企业重金招聘Python工程师标准>>> 想要开发APP的客户一般找开发商最多的就是问价格和二次开发问题,在这里,我奉劝大家不能够只是为了贪图小便宜去找那些价格低廉的开 ...

最新文章

  1. pythonjson构建二维数组_python二维键值数组生成转json的例子
  2. VS2003 找不到IsProcessInJob()
  3. 使用 NOR Flash 中的supervivi 下载裸机程序到NandFlash
  4. what is the thinking routine of the open source?
  5. TCPIP / MTU 和 MSS 的区别和联系
  6. SQL读书笔记_With Clause的注意事项
  7. java compareandset 包_Java AtomicReferenceArray compareAndSet()用法及代码示例
  8. github 进阶说明
  9. .net多层结构 sql注入
  10. windows 串口中断编程_万变不离其宗之单片机串口共性问题
  11. 需要注意的一些Mysql语句
  12. 软件工程(2018)第三次团队作业
  13. 2021-06-19表单,内嵌框架
  14. IntelliJ IDEA设置不自动打开最后关闭的项目
  15. Android HandlerThread 消息循环机制之源代码解析
  16. Java实现鉴权失败达到一定次数锁定IP并释放到期IP
  17. spring 自带的定时器task
  18. 升级jdk版本后,出现SecurityException: JCE cannot authenticate the provider BC
  19. Kafka分区副本重分配源码分析
  20. UCC21755QDWRQ1引脚图TPS92667QPHPRQ1汽车级驱动芯片

热门文章

  1. 智能体——探索人工智能世界的奇妙存在
  2. 关于电子标准机柜的“U”和“19英寸”
  3. 【UML】——构件图
  4. 开源免费的WordPress个人博客主题推荐
  5. 查看局域网内所有ip地址
  6. IIS网站404失效
  7. js方法获取本机IP
  8. PLC与上位机的socket通讯——ABB机器人程序(三)
  9. CodeForces 377 A. Maze
  10. Simulink产品家族工具箱介绍!