UIMenucontroller的使用

UIMenuController 实现过程,以及不为人知的一些坑 前段时间公司项目需要做单元格中UILabel 内容的复制功能,用系统原有的UIMenuController可以轻松实现,但是在使用过程中,却出现了一个坑,苦苦搜索,baidu、stackoverflow都查找了一遍,居然没有人遇到这种情况,大概没碰到我们项目的使用场景。 遇到的坑,后面再说,先来梳理一下UIMenuController的使用(尽管其他人的文章已经说过好多次了),然后再代码中,对每 阅读详情
1. Menu所处的View必须实现 – (BOOL)canBecomeFirstResponder, 且返回YES
2. Menu所处的View必须实现 – (BOOL)canPerformAction:withSender,并根据需求返回YES或NO
3. 使Menu所处的View成为First Responder (becomeFirstResponder)
4. 定位Menu (- setTargetRect:inView:)
5. 展示Menu (- setMenuVisible:animated:)


UIMenuController*popMenu = [UIMenuControllersharedMenuController];

  

UIMenuItem *item1 = [[UIMenuItem alloc] initWithTitle:@”1″ action:@selector(menuItem1Pressed:)];

UIMenuItem *item2 = [[UIMenuItem alloc] initWithTitle:@”2″ action:@selector(menuItem2Pressed:)];

UIMenuItem *item3 = [[UIMenuItem alloc] initWithTitle:@”3″ action:@selector(menuItem3Pressed:)];

UIMenuItem *item4 = [[UIMenuItem alloc] initWithTitle:@”4″ action:@selector(menuItem4Pressed:)];

NSArray *menuItems = [NSArray arrayWithObjects:item1,item2,item3,item4,nil];

[popMenu setMenuItems:menuItems];

[popMenu setArrowDirection:UIMenuControllerArrowDown];

  

[item4 release];

[item3 release];

[item2 release];

[item1 release];

[popMenu setTargetRect:CGRectMake(162,195,0,0)inView:self.dialView];

[popMenu setMenuVisible:YES animated:YES];



  1. becomFirstResponder方法,使view或者viewController的self成为第一响应者,可以在相应文件的任意地方调用实现该方法,不过建议与UIMenuController放在一起。

    [selfbecomeFirstResponder];

  2. 设置-(BOOL) canBecomeFirstResponder的返回值为YES,原因不言而喻。

    -(BOOL) canBecomeFirstResponder{

    returnYES;

    }

  3. 重载函数-(BOOL) canPerfomAction:(SEL)actionwithSender:(id)sender,设置要显示的菜单项,返回值为YES。若不进行任何限制,则将显示系统自带的所有菜单项(很多的,自己可以试一下),在此,只显示自定义的4项,即:

    -(BOOL) canPerformAction:(SEL)action withSender:(id)sender{

    if (action == @selector(menuItem1Pressed:) || action ==@selector(menuItem2Pressed:)||

    action == @selector(menuItem3Pressed:) || action ==@selector(menuItem4Pressed:)){

    return YES;

    }

    return NO;//隐藏系统默认的菜单项

    }


为什么 ChatGPT 生成的下载地址会长成 sky-metal-cards-jerry.quirkypony34.chatgpt.site 这种奇怪的样子 我今天看到的这条地址,确实很容易让人产生一种感觉,ChatGPT 明明只是生成了几张 PNG 图片和一个压缩包,为什么最终拿到的却不是类似这种看起来很正规的下载链接,而是一长串带有、UUID、apidecks的地址。更容易让人疑惑的是,其中还出现了一个平时很少见到的域名。这并不是浏览器随机生成的临时 URL,也不是某个来历不明的第三方文件服务器。根据 OpenAI 在 2026 年公布的 ChatGPT Sites 文档和相关服务条款, 阅读详情

相关推荐

中科蓝讯(第一次使用指南)

中科蓝讯 新手指南

qq_48579018的博客 1万+

iOS之UIMenuController的简单使用

UIMenuController的示例UIMenuController须知 默认情况下, 有以下控件已经支持UIMenuController UITextField UITextView UIWebView 让其他控件也支持UIMenuController(比如UILabel) 自定义UILabel - (void)setUp { // 1.设置label可以交互 self.userI

Shimmy果子的博客 670

别再到处找了!2024最新银河麒麟V10全版本(飞腾/龙芯/兆芯)官方下载与安装保姆级教程

本文提供2024年银河麒麟V10操作系统全版本(飞腾/龙芯/兆芯)的官方下载与安装保姆级教程,涵盖版本选择、镜像获取、启动盘制作及安装优化等关键步骤,助您高效部署国产操作系统。

weixin_26846533的博客 481

UIMenuController的使用

UIMenuController的使用 编辑菜单是一个显示的,可以用来执行一个功能的上下文菜单,类似text view里的一段文本或一张图片。主要组成部分是复制、剪切和粘贴等操作,它显示的命令基本是复制、剪切、粘贴、选择和全选等。不过也可以自己增加自定义的菜单项,使得选择它时可以执行其他的一些操作。 管理选项和菜单不管用户是复制或剪切一个视图中的某些东西或者其他事,总是会有“一些东西”会被选择,

人生如梦 2026

OpenFOAM收敛问题排查指南:从参数设置到网格优化

本文系统性地介绍了OpenFOAM计算中收敛问题的排查方法。从理解收敛本质出发,详细讲解了如何通过调优求解控制参数(如松弛因子、离散格式)、合理设置时间步长与耦合算法,以及优化网格质量来解决发散难题。文章提供了从软件设置到硬件网格的完整排查路径,帮助用户实现稳定高效的计算流体力学模拟。

fern8的博客 788

VisionMaster图像源模块的5个隐藏功能:从自动切换到二次开发接口

本文深入解析了VisionMaster图像源模块的5个隐藏功能,从基础的自动切换与字符触发过滤,到高级的脚本扩展与基于COM组件的二次开发接口。这些功能能显著提升工业视觉项目的自动化水平、灵活性与系统集成能力,帮助开发者实现更高效的离线测试流水线和外部精确控制。

rgv23456789的博客 651

UIMenuController——颜婧

什么是UIMenuController? UIMenuController是UIKit里面的控件 UIMenuController的作用在开发中弹出的菜单栏 后面介绍了菜单栏显示中文的设置 有哪些控件是自带UIMenuController菜单栏效果的呢? UITextFieldUITextViewUIWebView 主要介

tarena_3G的博客 857

从养虾到退坑:OpenClaw 卸载不留残留,一步到位

文章摘要: 本文提供OpenClaw软件的完整卸载指南,适用于Windows、macOS和Linux系统。内容包含卸载前的数据备份步骤(配置文件、日志、插件列表),以及详细的卸载脚本。Windows版通过批处理文件删除程序文件、注册表项和环境变量;macOS/Linux版则提供shell脚本,涵盖服务停止、软件包卸载、配置清理等步骤。特别强调要删除所有用户数据(包括多用户环境),确保系统无残留。文末建议重启计算机以使更改生效,实现"一步到位"的彻底卸载。

一键难忘的博客 298

关于UIMenuController的使用总结

1. Menu的初始化设置 - (void)showMenuAtRect:(CGRect)rect inView:(UIView *)inView { [self becomeFirstResponder]; UIMenuController *theMenu = [UIMenuController sharedMenuController]; [theMenu set

reylen的专栏 2134

编写python脚本调用ordinals以及BRC20的接口

1、钱包地址生成walletreceive,对应ord命令:ord wallet receive。6、测试手动出块generate,这个只在regtest链节点用得上。所有接口都是post请求,采用postman进行测试。4、测试bitcoin转币sendtoaddress。7、测试其他的wallet方法wallet。2、钱包币种铭刻inscription,对应bitcoin-cli命令。对应bitcoin-cli命令。对应bitcoin-cli命令。fee.json文本模板。还可以加很多根据需要加减。

云深海阔专栏 1047

redhawk:STA timing data file解析

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?STA timing data file分为以下几个部分:• Header• Name Map• Footer这部分报告设计的基本信息,例如文件类型,设计名称,分隔符等。...

m0_61544122的博客 1153

UIMenuController的UIWindow不是KeyWindow也会让UIMenuController不显示哦~

最近在做私信功能,有山寨微信的味道,需要支持发图片,语音,文字. 支持删除复制转发,用UIMenuController实现. 功能均完成后,发现UIMenuController有时候不显示. 网上此问题统一的解答是: 显示弹出菜单,必须实现3个方法,缺一不可: 1.becomFirstResponder方法,使view或者viewController的self成为第一响应者,可以在相

Juven小小的专栏 5420

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

UIMenuController

1、UIMenuController 简介 1、默认情况下,UITextFiled、UITextView、UIWebView 都有苹果自带的有 UIMenuController 功能。 2、UITextFiled 的弹出菜单效果系统自带的,如下图。 2、menuController 的创建 2.1 给 Label 添加 UIMenuController 功能步骤: 1、设置 U...

diaochuanzhi7826的博客 135

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

UIMenuController的使用简介

UIMenuController苹果官方文档 示例代码下载地址 1. UIMenuController简介 在很多应用中,当我们长按一段文字或者图片的时候会弹出一个菜单,我们通过这个菜单可以实现文字等的复制、剪切、删除以及各种操作。 示例图片 这个菜单就是UIMenuController,系统默认支持UITextField、UITextView、UIWebView控件的UIM

努力,可能成功!放弃,注定失败! 2709

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

UIMenuController的简单使用

  - (void)testMenuClicke:(UIButton *)btn{       UIMenuController *menu = [UIMenuController sharedMenuController];     [menu setTargetRect:btn.frame inView:btn.superview];     //        [UIMenuCo...

小天空的博客 1171

iOS UIMenuController 用法

先看效果如下图: UIMenuController 的用法和UIAlertViewController 的用法类似,它可以添加的UILabel 、UIImageView、UIButton等上面。 用法很简单代码如下: 此处是添加到button上的,位置放在了button的中间,如果要加在label上,可以给lable添加一个手势。 self.tmpBtn = [UIButton b...

yizhiliulangdemiao的博客 1112

UIMenuController使用

UIMenuController使用 DEMO地址 https://github.com/samuelandkevin/UIMenuController

samuelandkevin的专栏 580

UIMenuController详解

首先,下面这个控件咱们应该在UITextField、UITextView、UIWebView、WKWebView等控件上看到过. 这个控件叫UIMenuController.看着这个名字大家第一想法是不是UIViewController.其实,这个控件和UIViewController并没有什么关系. NS_CLASS_AVAILABLE_IOS(3_0) __TVOS_PROHIBITED @...

MeteoriteMan的博客 4433

iOS UIMenuController简介及使用 —— HERO博客

UIMenuController简介:UIMenuController为菜单控制器,是一个单例对象,继承NSObject,用来剪切、拷贝、粘贴等操作。UIMenuController使用:获取UIMenuController对象:UIMenuController *menu = [UIMenuController sharedMenuController]; 设置显示或者隐藏://通过menuVi...

hero_wqb的博客 1919
上一篇: ios 视频播放
下一篇: ios7下UISearchBar 光标不出现的问题
yesjava
博客等级 码龄19年 69粉丝 153原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值