效果:

image.png

image.png

//实现文字在上,点9图背景的AttributedString

//image = 背景图片

//text = 上面文字

//font = 文字字体

//color = 文字颜色

//space = 背景和文字的间距,背景要比文字大才好看

- (void)getImageTextWithParams:(NSDictionary *)params callBack:(void (^)(NSMutableAttributedString *imageAtbs))callBack

{

dispatch_async(dispatch_get_global_queue(0, 0), ^{

UIImage *image = params[@"image"];

image = [UIImage imageWithCGImage:image.CGImage scale:2 orientation:image.imageOrientation];

image = [image stretchableImageWithLeftCapWidth:image.size.width * 0.5 topCapHeight:0];

NSString *text = params[@"text"];

CGFloat imageToTextSpace = [params[@"space"] floatValue];

CGFloat containerHegiht = [params[@"height"] floatValue];

UIFont *textFont = params[@"font"];

UIColor *textColor = params[@"color"];

NSDictionary *textAttributedDict = @{

NSFontAttributeName: textFont,

NSForegroundColorAttributeName: textColor

};

CGSize textSize = [text sizeWithAttributes:textAttributedDict];

CGSize imageSize = CGSizeMake(textSize.width + imageToTextSpace * 2, MIN(containerHegiht, textFont.lineHeight + 4));

UIGraphicsBeginImageContextWithOptions(imageSize, NO, 0.0);

[image drawInRect:CGRectMake(0, 0, imageSize.width, imageSize.height)];

CGContextRef context = UIGraphicsGetCurrentContext();

CGContextDrawPath(context, kCGPathStroke);

[text drawInRect:CGRectMake(imageToTextSpace, (containerHegiht - textFont.lineHeight) * 0.5, textSize.width, textFont.lineHeight) withAttributes:textAttributedDict];

UIImage *contentImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

NSMutableAttributedString *imageAtbs = [NSMutableAttributedString yy_attachmentStringWithContent:contentImage contentMode:UIViewContentModeCenter attachmentSize:imageSize alignToFont:textFont alignment:YYTextVerticalAlignmentCenter];

dispatch_async(dispatch_get_main_queue(), ^{

if (callBack) {

callBack(imageAtbs);

}

});

});

}

yylabel支持html ios,iOS_YYLabel实现多标签,文字+背景功能相关推荐

  1. iOS NFC开发(读标签与写标签)

    #一.说明 1-苹果手机从iPhone6开始装有NFC硬件,但并未对第三方应用开放.因此iPhone6及iPhone6s不能识别NFC标签,但是可以使用系统NFC功能如:刷地铁. 2-苹果从iOS11 ...

  2. appium python框架结构,GitHub - wyybingo/python-appium: 基于PageObject UI自动化测试框架,支持Android/iOS...

    0910 UPDATE 新增控件集参数化,相同测试步骤的Android/iOS可共用一份测试用例 不同测试步骤的用例还需要单独写 0904 UPDATE 优化Android log及crsahinfo ...

  3. ios html正则表达式,ios 正则表达式去html标签

    ios 正则表达式去html标签 [2021-01-27 12:53:55]  简介: php正则表达式去掉html的方法:首先使用"htmlspecialchars_decode" ...

  4. pythonwebview自动化测试_GitHub - githubwzg/python-appium: 基于PageObject UI自动化测试框架,支持Android/iOS...

    0910 UPDATE 新增控件集参数化,相同测试步骤的Android/iOS可共用一份测试用例 不同测试步骤的用例还需要单独写 0904 UPDATE 优化Android log及crsahinfo ...

  5. iOS开发——设置支持的iOS设备(512m内存以上设备)

    问题: 最近在微博上看到iOS开发者遇到的设置支持的iOS设备问题,问题是这样的,有些apps在开发过程中会用到比较多的内存,比如需要512m的内存,因此需要设置不支持内存不足512m的设备. 1.请 ...

  6. unity3D埃及探险游戏源码,支持安卓+IOS双端 unity2019 C#语言开发

    unity3D埃及探险游戏源码,支持安卓+IOS双端 unity2019 C#语言开发.完整的源码可直接运营.拿来学习研究和二次开发都很不错. 源码下载 unity3D埃及探险游戏源码C#语言开发.完 ...

  7. 怎么更改苹果账户名称_是妥协吗?苹果iCloud终于支持安卓/iOS浏览器了

    苹果用户对iCloud肯定不陌生,iCloud是苹果公司所提供的一项云端服务,在不付费的前提下用户可以免费获得5GB的存储空间,iPhone.iPad.Mac上都会自带此服务,除了云端备份功能,还带有 ...

  8. 王者荣耀战力查询小程序源码下载-支持安卓ios微信和QQ战力查询支持打包成APP

    王者荣耀战力查询小程序源码下载-支持安卓ios微信和QQ战力查询支持打包成APP 该源码没有后台的也无需后台的,所以也就没有什么服务器和域名的烦恼和费用了 使用方法用HBuilder X软件打开文件然 ...

  9. cocos2dx+JAVA手游《全民挂机》全套源码支持安卓+IOS双端

    cocos2dx+JAVA手游<全民挂机>全套源码支持安卓+IOS双端,客户端用cocos2dx 2.2.3实现,服务端用java,支持安卓+IOS双端,一款很不错的挂机游戏源码! 源码下 ...

  10. ios辅助功能_iOS辅助功能标签

    ios辅助功能 This blog was inspired by Jeff Watkins' series of blogs on UIButton. UIButton is a fundament ...

最新文章

  1. 深度学习100问-1:深度学习环境配置有哪些坑?
  2. 【转】Asp.net控件开发学习笔记整理篇 - Asp.net客户端状态管理
  3. 【2021Java最新学习路线】kvm和docker区别
  4. centos 调整home分区xfs_Linux中对lvm逻辑卷分区大小的调整教程(针对xfs与ext4不同文件系统)...
  5. Android 图形架构
  6. AdminLTE 3.0发布了
  7. oracle 查询过去一个星期的数据_过去一星期,最懂我的居然是一个表情包
  8. python123测试_【测码学院】python自动化测试学习-自动化测试模型
  9. info - 阅读 info 文档
  10. 光伏发电设备被淹或浸水时的相关注意事项
  11. java循环怎么分析_Java for循环的几种用法分析
  12. scrapy爬虫框架实现简单案例:爬取阳光平台内容
  13. 小水智能-智能楼宇智慧建筑3D可视化系统,为房屋建设增加智能化
  14. 心有景旗,志存远方——湖南安全技术职业学院美和易思愿景图活动
  15. Hbase GC调优原理分析
  16. 新世达380修改服务器密码,新时达AS380利用小键盘调试说明
  17. 修改XAMPP启动mysql报错Port 3306 in use by D:\xampp\mysql\bin\mysqld!
  18. 数据分析师如何做数据分析汇报
  19. 联想笔记本一键还原出现 “系统分区结构发生改变,无法进行恢复操作”怎样处理。
  20. 论文阅读《API2Com: On the Improvement of Automatically Generated Code Comments Using API Documentations》

热门文章

  1. ps安装插件提示“无法加载扩展,因为它未正确签署”怎么办?PS插件未经签署解决方法
  2. 燃气灶电气线路图及原理_燃气灶工作原理及部件构造
  3. MFC实现点击按钮打开一个指定的文件或者网址或者exe
  4. lol走砍e源码_【精选】某LOL走砍E盾+VMP卡登陆解决办法
  5. 高中计算机平面设计计划书,日照师范学校计算机平面设计专业教学方案.doc
  6. 2.1 图像验证码(英文验证码、超级鹰)
  7. 运维服务级别管理流程
  8. 安川机器人外部急停信号点不开_安川机器人示教器常见故障维修方法
  9. 系统设计.如何设计一个秒杀系统(完整版)
  10. 报刊资料整理:云安全(cloud security)