iOS开发 UILabel长按弹出复制选项-UIContextMenuInteraction

NGUI ——UILabel复制粘贴 在一次工作的需求中遇到一个很麻烦的问题:需求上要求UI上的文字不仅要支持鼠标长按选取文字内容可复制粘贴到输入框内,还要能支持长按shift键鼠标单击区域的文字复制粘贴到输入框。于是乎,我看了NGUI所有的组件,发现只有Input带有复制粘贴的功能,瞬间头都大了,总不能用Input来做吧,这也太奇怪了,然后就去看看Input的复制功能是如何实现的,参考了下UIInput的代码,把其中的复制功能提取出 阅读详情
AI摘要

本文介绍了如何在iOS13及以上版本中为UILabel实现长按复制功能,使用了UIContextMenuInteraction和UIContextMenuConfiguration,通过设置代理方法来提供长按后的复制选项。,

1. 目标效果

左侧的图片为长按操作前界面的显示效果,右侧的图片为长按“MAC”项右侧的1032E23A34D2(UILabel) 后,弹出复制选项菜单的显示效果。
在这里插入图片描述

2. 实现代码

1. 给要实现长按复制功能的UILabel添加上下文菜单交互对象:UIContextMenuInteraction

提示:UIContextMenuInteraction 在iOS 13.0及更新版本中可用。

#import "DeviceInfoViewController.h"

@interface DeviceInfoViewController () <UIContextMenuInteractionDelegate>

@property (nonatomic, weak) IBOutlet UILabel *macLabel;

@property (nonatomic, weak) IBOutlet UILabel *modelLabel;

@end

@implementation DeviceInfoViewController

- (void)viewDidLoad {
   
   
    [super viewDidLoad];
    
    [self setupUI];
}

- (void)setupUI {
   
   
    self.title = NSLocalizedString(@"设备信息", nil);
    
    // MAC
    [self prepareLongPressCopyInView:self
iOS开发进阶:利用UIContextMenuInteraction实现UILabel长按复制功能 本文详细介绍了在iOS开发中如何利用UIContextMenuInteraction为UILabel添加长按复制功能,提升用户体验。通过具体的代码示例和实现步骤,帮助开发者快速掌握这一技术,适用于设备信息管理等场景,显著提高操作便捷性。 阅读详情

相关推荐

关于ios的剪贴板基本知识

在iOS中下面三个控件,自身就有复制-粘贴的功能:  1、UITextView  2、UITextField  3、UIWebView UIKit framework提供了几个类和协议方便我们在自己的应用程序中实现剪贴板的功能。  1、UIPasteboard:我们可以向其中写入数据,也可以读取数据  2、UIMenuController:显示一个快捷菜单,用来展示复制、剪贴、

程序人生 2万+

iOS开发之复制粘贴 剪切

UIPasteboard:剪切板                 用来向其中写入数据以及从中读取数据,从来实现数据的”搬迁”。UIMenuController:编辑菜单     用来显示拷贝、黏贴等命令canPerformAction:withSender::用于控制编辑菜单显示的命令按钮。事实上,编辑菜单的命令按钮完全可以自定义,而无需通过实现canPerformAction:方法来控制

m0_37812530的博客 1038

告别3D Touch!UIContextMenuInteraction在UITableViewCell中的完整适配指南

本文详细介绍了在iOS开发中,如何利用UIContextMenuInteraction API为UITableViewCell适配现代化的上下文菜单,以全面取代已废弃的3D Touch方案。文章从核心协议、实战配置入手,深入讲解了动态菜单构建、预览视图控制、手势冲突解决等高级技巧,并提供了一份完整的适配检查清单,帮助开发者构建统一且强大的列表交互体验。

weixin_29202687的博客 114

iOS开发:为Label添加长按复制功能

在iOS开发过程中,有时候会用到UILabel展示的内容,那么就设计到点击UILabel复制它上面展示的内容的功能,也就是Label长按复制功能。网上有很多种给Label添加长按复制功能的方法,这里我就写分享一种简单的写法,直接在控制器Label需要使用的地方直接实现,也不再进行封装处理。 首先,苹果系统中支持复制功能的控件只有三种:UItextView、UItextfield、UIWebVie

全沾软贱开发攻城狮 1万+

LVGL 实战:虚拟列表与对象复用机制在嵌入式GUI中的性能优化

本文深入探讨LVGL虚拟列表与对象复用机制在嵌入式GUI中的性能优化实践。通过复用机制动态管理UI对象,大幅降低内存占用,实现无限滚动列表的流畅体验。文章详细解析核心算法、内存优化策略及跨平台适配技巧,帮助开发者在资源受限设备上高效处理大量数据展示。

rice5的博客 1106

Mac本地大模型实战指南:Ollama+Metal+Apple Silicon深度优化

大语言模型(LLM)本地化部署正成为开发者关键技术能力,其核心在于推理效率、硬件适配与成本控制。Apple Silicon凭借统一内存架构(UMA)和Neural Engine,为本地LLM运行提供了独特优势;Metal加速则显著提升GPU计算吞吐,使Gemma 4、Qwen 3.5等模型在M系列Mac上实现低延迟、高精度、离线可用的工程落地。相比云端API,本地方案规避了token计费、网络依赖与数据外泄风险,特别适用于企业文档处理、实时语音分析、私有知识库检索等强隐私、低时延场景。本文聚焦Mac平台,系

weixin_33443333的博客 352

散户逆袭神器:用通达信DIY指数发现下一个光伏储能(附龙头股筛选模板)

本文详细介绍了如何利用通达信软件的自定义指数功能,构建个人专属的行业监控工具,以发现类似光伏储能这样的潜力赛道。文章提供了从零开始的指数编制步骤、核心的龙头股筛选模板,以及五个关键的数据校验技巧,帮助散户投资者实现机构级的行业分析与机会挖掘,有效提升投资决策能力。

w3x4y的博客 483

从零配置华为S5720交换机VLAN:Web界面与命令行双模式详解(附拓扑图)

本文详细解析华为S5720交换机VLAN配置的全过程,涵盖Web界面与命令行(CLI)双模式操作指南。从基础环境准备到多交换机环境配置同步,特别针对S5720-52X系列交换机的VLANif接口、端口分配策略及交换机堆叠技术进行深入讲解,并附实用拓扑图与配置示例,助力企业网络管理员高效完成VLAN部署。

happy2的博客 1370

R分析|怎么样使用piecewiseSEM构建结构方程模型?保姆级教程

计算科学的发展让我们有了更先进的工具揭示自然规律。结构方程模型(SEM)已被广泛应用于多学科进行数据挖掘。其中在R中实现的结构方程模型是方便快捷的。今天要介绍的piecewiseSEM包就是R中实现SEM的一种方式。piecewiseSEM被开发出来主要目的是为了解决复杂模型简化后进行分段分析。个人认为最大的特点是更灵活,且采用的是原始数据,并不是传统的协方差矩阵。其次,将SEM破碎化为多个独立的方程,对样本量要求较少。

weixin_46814750的博客 6937

手把手教你用WF100DPZ数字压力传感器搞定I2C/SPI通信(附完整寄存器解析)

本文详细解析了WF100DPZ数字压力传感器的I2C与SPI通信驱动方法,涵盖硬件连接、寄存器配置、数据读取流程及常见问题排查。该传感器内置24位ADC和出厂校准,通过实战代码演示了如何稳定获取高精度压力与温度数据,帮助开发者快速集成到嵌入式项目中。

weixin_28285943的博客 377

69、SAP数据库归档重做日志备份策略与工具详解

本文详细解析了SAP数据库归档重做日志备份的重要性及策略,介绍了SAP提供的备份工具brarchive及其配置和使用方法,探讨了BRBACKUP与BRARCHIVE的联合运行、一致在线备份、备用数据库备份场景以及备份策略的综合应用与优化。此外,还分析了备份过程中常见问题的解决方法、备份监控与评估流程、与第三方备份解决方案的集成方式,以及未来备份技术的发展趋势和应对策略。通过合理运用这些策略和工具,可以有效保障SAP数据库的安全性和可恢复性。

peace的博客 135

【数据集】MODIS 的 MOD07 大气廓线产品概述及下载

MODIS 的 MOD07 大气廓线产品概述及下载

WW、forever的博客 550

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

上一篇: iOS开发 触觉体验(UIFeedbackGenerator)的使用
下一篇: Runtime中的Method Swizzle
Brian·Wang
博客等级 码龄12年 13粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值