UILabel添加图片之富文本的简单应用

若想对UILabel添加图片,那么就需要使用NSMutableAttributedString来定义
先定义一个普通的label

UILabel *lab = [[UILabel alloc]initWithFrame:CGRectMake(10, 100, self.view.frame.size.width-10, 100)]; lab.numberOfLines = 0; [self.view addSubview:lab];

然后对其定义

//创建富文本
NSMutableAttributedString *attri = [[NSMutableAttributedString alloc] initWithString:@"   我纳斯达克市场部撒草卡死你查看售楼处内 按时打算打算的撒打算离开的骄傲是是大神快了解到撒开了就对啦可视对讲卢卡斯的卡洛斯的骄傲"]; //NSTextAttachment可以将要插入的图片作为特殊字符处理 NSTextAttachment *attch = [[NSTextAttachment alloc] init]; //定义图片内容及位置和大小 attch.image = [UIImage imageNamed:@"tab_suning"]; attch.bounds = CGRectMake(0, 0, 61, 14); //创建带有图片的富文本 NSAttributedString *string = [NSAttributedString attributedStringWithAttachment:attch];
//将图片放在最后一位
//[attri appendAttributedString:string];
//将图片放在第一位 [attri insertAttributedString:string atIndex:0]; //用label的attributedText属性来使用富文本 lab.attributedText = attri;

然后效果如下

若想对图片添加点击事件,现在的想法是在label上添加一个透明按钮,位置大小跟图片的相同

lab.userInteractionEnabled = YES;
UIButton *clearBtn = [UIButton buttonWithType:UIButtonTypeCustom];
clearBtn.frame = CGRectMake(0, 12, attch.bounds.size.width, attch.bounds.size.height+3); clearBtn.backgroundColor = [UIColor clearColor]; [clearBtn addTarget:self action:@selector(alertSth) forControlEvents:UIControlEventTouchUpInside]; [lab addSubview:clearBtn];

效果如下

转载于:https://www.cnblogs.com/Free-Thinker/p/9587919.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/465068.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从面试到入职大疆全记录

哈喽,大家好,我是仲一。今天和大家分享的是一位优秀双非本科生上岸大疆的经历(羡慕哭了。。。)。今年4月底的时候,这位学弟和我分享了他拿下oppo,京东,联发科实习offer的经历,当时我…

物联网是互联网发展的必然趋势吗?

李彦宏说,移动互联网的时代结束了。周鸿祎说,互联网下半场就要开启。那么互联网下一个超级风口,在物联网吗?所谓物联网,其实就是借助互联网的力量,实现万物互联。实际上物联网已不知不觉融入我们的生活中&a…

个人收集一些程序员面试题目(一) 一起分享

2019独角兽企业重金招聘Python工程师标准>>> 阿里巴巴公司DBA笔试题 http://searchdatabase.techtarget.com.cn/tips/2/2535002.shtml 注:以下题目,可根据自己情况挑选题目作答,不必全部作答.您也可以就相关问题直接找负责面试人员面述而不…

自适应Web主页

HTML 1 <!DOCTYPE html>2 <html lang"en">3 <head>4 <meta charset"UTF-8">5 <title>自适应主页</title>6 <link rel"stylesheet" href"test.css">7 </head>8 <body&…

Linux驱动程序的数据封装

引言0基于ARM内核的SoC在引入设备树技术之后&#xff0c;通过设备树文件来描述不同的设备并匹配不同的驱动代码&#xff0c;使得一个kernel镜像文件可以支持多种设备。这种代码可重用的思想不仅体现在设备树文件中&#xff0c;在驱动代码中同样也有所体现。其中之一就是驱动代码…

计算机沟通方式,雅思阅读练习:计算机改变沟通方式

雅思考试中&#xff0c;我们可以运用一些解题方法和技巧&#xff0c;来帮助我们提高答题的准确率&#xff0c;拿到一个更高的分数。今天小编为大家分享雅思阅读练习&#xff1a;计算机改变沟通方式&#xff0c;一起来学习一下。Almost everyone with or without a computer is …

小小突击队为什么服务器正在维护中,4399小小突击队3月20日5:30更新维护公告!...

亲爱的各位玩家&#xff1a;《小小突击队》将于3月20日5:30-7:30进行维护更新&#xff0c;更新内容如下&#xff1a;一.英雄1.新增&#xff1a;海牙战士为了寻找幼年时走失妹妹&#xff0c;加入了小小突击队2.调整&#xff1a;龙骑士去国外旅游,水深火热&#xff0c;技能效果提…

消息驱动 微服务器,消息驱动的微服务-Spring Cloud Stream整合RocketMQ

系列文章导航: Spring Cloud Alibaba微服务解决方案常用MQ产品的选择目前主流的MQ产品有kafka、RabbitMQ、ActiveMQ、RocketMQ等。在MQ选型时可以参照这篇文章选择合适的MQ产品。RocketMQ及控制台搭建RocketMQ的搭建可以参考这篇文章。RocketMQ控制台的搭建可以参考这篇文章。R…

低并发编程

大家好&#xff0c;我是闪客&#xff0c;感谢 写代码的篮球球痴 提供的平台让我在这里给大家介绍自己&#xff0c;这是我的公众号卡片。为了防止大家看到这里就点击了返回按钮&#xff0c;我先放一张图勾引一下您。这是我公众号做的第一张动图&#xff0c;好多读者当时说被这张…

总结一些调试的心得,ES7243

这两天在调试一个与语音ADC芯片&#xff0c;也遇到了一些问题&#xff0c;到目前位置也解决了问题&#xff0c;所以想说一下嵌入式调试的一些心得&#xff0c;如果大家在调试设备的时候遇到问题&#xff0c;可以回头来看看这篇文章&#xff0c;可能会得到一些启发。我调试的系统…

web存储机制localStorage和sessionStorage

https://www.cnblogs.com/yaoyuqian/p/7901052.html web存储包括两种&#xff1a;sessionStorage 和 localStorage&#xff08;都是限定在文档源级别&#xff0c;非同源文档间无法共享&#xff09; 1.sessionStorage 数据放在服务器上&#xff08;IE不支持&#xff09;严格用于…

“元宇宙” 是什么东西?

最近元宇宙的概念很火&#xff0c;所以转发一篇文章给大家看看。每当一个新东西出来的时候&#xff0c;有的人觉得这个是个好东西&#xff0c;也有人嗤之以鼻&#xff0c;觉得这个就是用来割韭菜的。就拿比特币来说&#xff0c;比特币有什么价值&#xff1f;他的价值无非就是操…

分布式系统服务器要求,浅谈分布式系统

分布式系统的由来软件系统的架构一直以来随着技术的发展和市场的需求进行着不断的演进。最初&#xff0c;各行业业务相对比较简单&#xff0c;对系统的要求也不高&#xff0c;软件系统的架构均采用单一应用架构&#xff0c;此时单台服务器即可满足系统的要求。之后&#xff0c;…

OCP Java 自测

一个朋友准备去考OCP Java认证&#xff0c;即原来的SCJP。心血来潮也想测测自己什么水平。找了本McGraw.Hill.OCP.Java.SE.6.Programmer.Practice.Exams&#xff0c;开盘就是两套自测题。14个题目&#xff0c;给了42分钟&#xff0c;按书中说法是过了8个就可以去考了。掐上秒表…

内核该怎么学?Linux进程管理工作原理(代码演示)

前言&#xff1a;Linux内核里大部分都是C语言。建议先看《Linux内核设计与实现(Linux Kernel Development)》,Robert Love&#xff0c;也就是LKD。Linux是一种动态系统&#xff0c;能够适应不断变化的计算需求。Linux计算需求的表现是以进程的通用抽象为中心的。进程可以是短期…

如果访问云服务器上的文件,如果访问云服务器上的文件

如果访问云服务器上的文件 内容精选换一换WinSCP工具可以实现在本地与远程计算机之间安全地复制文件。与使用FTP上传代码相比&#xff0c;通过 WinSCP 可以直接使用服务器账户密码访问服务器&#xff0c;无需在服务器端做任何配置。通常本地Windows计算机将文件上传至Linux服务…

int *p = *******a是什么鬼?

这是在朋友圈里面看到有人调侃的一个C语言题目&#xff0c;这里拿出来分享给大家看看。1我们知道int a 120; int* p &a;这样我们可以给指针p赋值。指针很多初学者学习的时候会觉得一脸懵逼&#xff0c;我们只要明白几个关键的东西&#xff0c;会让我们对指针理解更深入一…

你见过的MCU最高GPIO翻转频率是多少?

大家好&#xff0c;我是痞子衡&#xff0c;是正经搞技术的痞子。今天痞子衡给大家介绍的是i.MXRT1010上的普通GPIO与高速GPIO极限翻转频率。上一篇文章 《聊聊i.MXRT1xxx上的普通GPIO与高速GPIO差异及其用法》&#xff0c;痞子衡从原理上介绍了 i.MXRT1xxx 系列里普通 GPIO 和 …

django中的admin组件之自定义组件的增删改查的完善

昨天我们将自定义列放在类我们自定义的Bookconfig配置类内&#xff0c;但是这样就写死了&#xff0c;因为当我们访问publish表的时候应该也有这样的自定义列&#xff0c;所以我们应该将我们的自定义列放在默认的配置表里面。应该怎么做&#xff1f; 当我们的自定义列挪到默认配…

“制造商和技术支持商”

1.用优化工具。 2.system32中的OEMINFO.ini和OEMLOGO.bmp文件 转载于:https://blog.51cto.com/honglingjin2011/537680