一、效果图

二、 会用到的几个类
/**
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>
@inter

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

被折叠的 条评论
为什么被折叠?



