UICopyLabel:简单实现Label长按复制文字功能

本文介绍了如何创建一个自定义的UICopyLabel,该Label支持用户长按后复制其显示的文字。通过利用UIPasteboard进行数据读写,结合UIMenuController显示复制选项,并实现UIResponder的canPerformAction方法,使得长按操作能够触发复制功能。只需将需要复制功能的Label设置为UICopyLabel或使用UILabel+Copy扩展,即可轻松实现这一功能。
摘要由CSDN通过智能技术生成

一、效果图


二、 会用到的几个类

/**
 1、UIPasteboard:可以读写数据
    + (UIPasteboard *)generalPasteboard; ------- 创建
 
 2、UIMenuController:用来显示"复制"、“剪切”等选项的菜单
    + (UIMenuController *)sharedMenuController; ------ 创建
    - (void)setMenuVisible:(BOOL)menuVisible animated:(BOOL)animated; ---- 通过动画显示或者隐藏
    - (void)setTargetRect:(CGRect)targetRect inView:(UIView *)targetView; ----targetRect menu需要显示的矩形区域  targetView targetRect会以targetView的左上角为坐标原点进行显示
 
 3、UIResponder:指定该UICopyLabel可以响应的方法(这里只需要使用复制)
    - (BOOL)canPerformAction:(SEL)action withSender:(nullable id)sender;
 */


三、代码

UICopyLabel.h

#import <UIKit/UIKit.h>

@interface UICopyLabel : UILabel
/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值