UIMenuController

本文介绍如何在iOS应用中实现上下文菜单功能,包括创建菜单项、设置目标视图、显示菜单等步骤,并强调了视图需实现特定方法以确保菜单正常工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UIMenuController *menuController = [UIMenuController sharedMenuController];
      UIMenuItem *menuItem_1 = [[UIMenuItem alloc] initWithTitle:@"复制" action:@selector()];//@selector()括号中为该按钮触发的方法,该方法必须在UIVIewContrller中进行声明,就是投向的view所绑定的viewController类中必须实现这个方法
      UIMenuItem *menuItem_2 = [[UIMenuItem alloc] initWithTitle:@"删除" action:@selector()];
      UIMenuItem *menuItem_3 = [[UIMenuItem alloc] initWithTitle:@"移动" action:@selector()];
     
      menuController.menuItems = [NSArray arrayWithObjects: menuItem_1, menuItem_2,menuItem_3,nil];
      [menuItem_1 release];
      [menuItem_2 release];
      [menuItem_3 release];
      [menuController setTargetRect:CGRectMake(touchpos_x, touchpos_y, 50, 50) inView:self.view];//touchpos_x, touchpos_y分别为长按那点的x和y坐标   self.view为将要展示弹出框的视图
      [menuController setMenuVisible:YES animated:YES];

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:)

参考文章:http://www.cocoachina.com/bbs/read.php?tid=52728

http://www.cocoachina.com/bbs/read.php?tid-75860.html

转载于:https://www.cnblogs.com/sany007/archive/2013/02/22/2922785.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值