在 UITableView 中点击单元格时显示 UIMenuController 时出现问题

2024-02-03

当用户长按分组 UITableView 中的单元格时,我尝试显示自定义 UIMenuController。但是,在成功检测到长按后,我似乎无法显示 UIMenuController。任何帮助是极大的赞赏。

MyViewController.h
@interface MyViewController : UIViewController <UITableViewDelegate,UITableViewDataSource>
  UITableView *table;
  @property (nonatomic, retain) IBOutlet UITableView *table;
@end

在 cellForRowAtIndexPath 中,我附加了长按手势识别器

cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:SectionsTableIdentifier] autorelease];
    UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleLongPress:)];
    [cell addGestureRecognizer:longPress];
    [longPress release];

这是我的handleLongPress操作方法

-(void)handleLongPress:(UIGestureRecognizer *)longPress {

  if (longPress.state == UIGestureRecognizerStateBegan) {

    CGPoint pressLocation = [longPress locationInView:self.table];
    NSIndexPath *pressedIndexPath = [self.table indexPathForRowAtPoint:pressLocation];

    UIMenuItem *first = [[UIMenuItem alloc] initWithTitle:@"Save" action:@selector(saveRecent)];
    UIMenuItem *second = [[UIMenuItem alloc] initWithTitle:@"Edit" action:@selector(editQuery)];

    UIMenuController *menuController = [UIMenuController sharedMenuController];
    menuController.menuItems = [NSArray arrayWithObjects:first,second,nil];

    [menuController setTargetRect:longPress.view.frame inView:longPress.view.superview];
    [menuController setMenuVisible:YES animated:YES];
    [pressedIndexPath release];
  }
}

编辑和保存的操作方法仅显示 UIAlertView。我还实现了以下方法,以确保显示 UIMenuController 时仅显示“保存”和“编辑”选项

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

 BOOL canPerform = NO;

 if (action == @selector(saveRecent)) {
    canPerform = YES;
 }
 if (action == @selector(editQuery)) {
    canPerform = YES;
 }

 return canPerform;
}

我还声称 MyViewController 是第一响应者

-(BOOL)canBecomeFirstResponder {

  return YES;
}

我相信您需要有一个声明firstResponder 状态的视图才能显示UIMenuController。我在你的代码中没有看到这种情况发生。

我写了使用 UIMenuController 的说明作为这个问题的答案:

自定义 UIMenuController https://stackoverflow.com/questions/1604716/customize-uimenucontroller/4079896#4079896

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 UITableView 中点击单元格时显示 UIMenuController 时出现问题 的相关文章

  • iphone - UISearchBar 上的搜索按钮

    我有一个使用 UISearchBar 的搜索功能 它是即时发生的 所以我认为用 完成 替换键盘上的 搜索 按钮会更明显 有没有办法做到这一点 thanks 您可以更改keyboardTypeUISearchBar 对象的属性 然而 没有办法
  • Xcode 4:删除构建设置中的项目

    在 XCode 4 0 中 有一个新设计的 构建设置 页面 我的问题是 一旦指定设置 我就看不到如何删除它 示例 我已将目标级别的 版本控制系统 更改为 Apple Generic 后来我意识到我应该在项目级别设置它 所以我想删除目标级别设
  • 将 NSWindow 的内容变灰

    我有一个NSWindow with 2 NSViews an NSSplitView和一个习惯NSView 访问数据以填充这些视图可能需要一些时间 在此期间 我想将这些视图的内容灰显 我的第一个方法是有一个黑色的第三个NSView覆盖另外2
  • 我如何让 WhatsApp 愿意向 iOS 中的特定用户撰写消息?

    我如何让 WhatsApp 愿意向特定用户撰写消息 当我在应用程序中选择联系人时 我想发送短信 这是我的代码 NSURL whatsappURL NSURL URLWithString whatsapp send abid XXX if U
  • 显示来自 weburl iphone sdk 的 pdf

    我正在开发一个项目 我想显示网站上的 pdf 我有 pdf 的 url 知道如何做到这一点 我还想创建网站上 pdf 的缩略图 您可以在您的设备中显示 pdf 文件 直接将 url 传递给 UIWebView UIWebView webVi
  • 如何在没有 CLLocationManager 的情况下将 MKMapView 缩放到用户当前位置?

    随着MKMapView有一个名为 显示用户当前位置 的选项 它将自动显示用户的位置map 当找到该位置 以及如果它发生变化 时 我想移动并缩放到该位置 问题是 当用户位置更新时 似乎没有调用任何方法map 所以我无处可放的代码zoom sc
  • 使用其他应用程序打开 pdf

    我正在应用程序中显示 pdf 文件 我想在 nag bar 上显示 打开方式 选项 显示 iPhone 上安装的可以打开相同 pdf 的应用程序 如果用户选择任何应用程序 例如 pdf 查看器 则应该使用 pdf 查看器应用程序打开 pdf
  • MKAnnotationView 的不同字体

    在iPhone SDK地图上的标注气泡上 可以更改标题和副标题属性的字体吗 我对标注气泡中显示的默认字体不满意 并且希望使用不同的字体来匹配我的应用程序的其余部分 然而 我没有看到太多提及这一点 这让我担心这可能是不可能的 我见过构建自定义
  • 在 Objective-C 中使用 GCC C 扩展(语句表达式)进行初始化 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 GNU C 提供了标准 C 中没有的多种语言功能 这些扩展在 C 和 Objective C 中都可用 有一个 GCC C 扩展 称为语句表达式
  • iOS 7 Core 蓝牙外设在后台运行

    我想要的是我的 iOS 设备始终宣传蓝牙 LE 服务 即使应用程序未运行 这样我就可以让另一台 iOS 设备扫描并找到它 我在这里遵循了苹果的后台说明 https developer apple com library ios docume
  • Xcode:无法检查应用程序包

    我正在运行 Xcode 6 和 iOS 8 GM 每当我运行我的应用程序时 我都会从 Xcode 收到此消息 无法检查应用程序包 这样我就可以运行和构建 我会收到消息 我再次运行并构建 一切都按预期运行 这是我的设备 然后它会冲洗并重复 每
  • 在 iOS 6 中隐藏 TabBar

    我想隐藏我的 TabBariOS 6 当我编写下面给出的代码时 它可以在iOS 7但它显示黑线iOS 6 self tabBarController tabBar hidden YES 这是快照iOS 6 尝试使用下面的代码也许这会帮助你
  • 我应该使用 NSUserDefaults 还是 plist 来存储数据?

    我将存储一些字符串 也许 10 20 个 我不确定是否应该使用 NSUserDefaults 来保存它们 或者将它们写到 plist 中 什么被认为是最佳实践 NSUserDefaults 似乎代码行数较少 因此实现速度更快 我想补充一点
  • 核心数据模型设计

    假设我有一个关于烹饪食谱的应用程序 具有两个基本功能 第一个涉及我正在准备的当前食谱 第二个存储了我决定保存的食谱 标准场景 我目前的食谱是 芝士蛋糕 RecipeDetailViewController我可以看到我为此食谱添加的当前成分
  • 如何禁用 UITextView 上的键盘?

    我在 xib 上的 iPad 应用程序中使用了文本视图 我在上面写了一些文字 现在 当应用程序运行并且用户正在阅读该文本时 如果他不小心触摸了屏幕 则会出现键盘 我想禁用键盘弹出 我该怎么做呢 尝试关闭可编辑模式 textView edit
  • 通过 UDP 从服务器向 iPhone 发送大量实时处理的数据

    我正在实施一个远程应用程序 服务器将实时处理和渲染数据作为动画 准确地说 是一系列图像 每次渲染图像时 都会通过 UDP 将图像传输到接收 iPhone 客户端 我研究了一些UDP 我知道以下几点 UDP 的最大大小约为 65k 不过 iP
  • 视频轨道后面的AVFoundation UIImage

    我当前正在渲染一个小于输出大小的视频轨道 该视频轨道工作正常 我想将 UIImage 绘制到背景中 以便视频位于顶部 而图像则显示在视频不存在的区域中 我尝试使用 CoreAnimation Layers 和 videoCompositio
  • objectForKeyedSubscript:在 iOS 5.1 上崩溃

    我正在运行一些执行 NSDictionary objectForKeyedSubscript 的代码 它在 iOS 5 上崩溃 但在 iOS 6 上则不然 我正在使用 xcode 4 5 2 并针对 iOS 6 0 SDK 进行编译 我认为
  • 循环遍历 NSMutableDictionary

    如何循环遍历 NSMutableDictionary 中的所有对象而不考虑键 标准方式如下所示 for id key in myDict id value myDict objectForKey key value doStuff
  • Objective-C字典是一个有序的容器吗?

    如标题所示 当我将元素插入到 Objective C 中的字典中 按顺序 k1 k2 k3 时 是否有任何保证 当我像这样枚举它时 for k in dictionary output the k value 它会以相同的顺序显示吗 No

随机推荐

  • C中声明语句和赋值语句的区别? [复制]

    这个问题在这里已经有答案了 我是编程新手 正在尝试学习 C 我正在读一本书 我在其中读到了这些语句 但无法理解它们的含义 宣言 int a 任务 a 3 声明和赋值在一个语句中 int a 3 声明说 我将使用一个名为 的变量a 存储一个整
  • 我在pandas DataFrame中有字符串索引,如何通过startswith进行选择?

    在数据框中 我有一个来自国家列的索引 但我做不到 df df Nation str startswith U 无需重置索引 如何获取索引的 str 对象 Use index与str nice df df index str startswi
  • JSEncrypt(js)加密,但python无法解密

    我正在尝试使用 JSEncrypt javascript 进行 RSA 加密文本 并使用 python crypto python3 7 进行解密 大多数时候 它是有效的 但有时 python无法解密 const encrypt new J
  • 将 AssemblyInfo.cs 中的程序集版本放入 Web.config 中

    我有这样的场景 其中我有来自 AssemblyInfo cs 的项目的程序集版本 例如 2 0 0 如下所示 assembly AssemblyVersion 2 0 0 此外 我想检索此 AssemblyVersion 并将其动态设置为
  • 使用鼠标拖动边缘来调整 Thumb 控件的大小

    我需要一个可以使用鼠标调整大小的拇指控件 当用户将鼠标悬停在其中一端时 应显示一个大小光标 当用户单击并拖动控件的一端时 它将重新调整大小 如何才能做到这一点 这是我不久前制作的一个 它允许Move and Resize 但您可以删除Mov
  • android数据绑定中的“DataBindingComponent”类是什么?

    我在官方API文档中看到了DataBindingComponent https developer android com reference android databinding DataBindingUtil html https d
  • 从 Outlook 发送到 Gmail 时,HTML 电子邮件中会添加额外的空间

    如果我在 Gmail 或 Outlook 中打开以下 HTML 电子邮件 它会按预期呈现 img src img png 但是 如果我在 Outlook 中打开它 然后将其转发到 Gmail 它会添加额外的垃圾 HT ML 使该区域比应有的
  • ShellExecuteEx 引导路径

    我有一条形式的路径 26EE0668 A00A 44D7 9371 BEB064C98683 0 Fonts 如果我将其输入到资源管理器地址栏中 它会正确打开控制面板 字体 如何使用 ShellExecuteEx 或类似的东西 包含 gui
  • 虚拟成员函数的目的是什么?

    C 中函数重写和虚函数之间有什么区别 虚拟成员函数可以在派生类中重写 在派生类中重新定义函数称为函数重写 为什么我们实际上有虚函数 虚函数 方法只是一个函数 通过重新定义函数的工作方式 使用相同的签名 可以在子类 或 C 术语中的派生类 中
  • 动态创建的元素失去间距

    我有一个带有两个 span 元素的 div a div span My workspace span span class glyphicon glyphicon pencil style color white span div 否则 我
  • C99 fesetround()/fegetround() 状态是每个线程还是每个进程?

    我在网上找到的 C 和 POSIX 参考资料没有指定 C99 的 fesetround 的线程安全性 甚至 GNU 文档也没有 1 状态是每个线程还是每个进程 1 https www gnu org software hello manua
  • 多个服务器上的单个 SSL 证书可将推送通知发送到同一应用程序

    是否可以在多个服务器上使用单个 SSL 证书向同一应用程序发送推送通知 我们有客户端和服务器 客户端将从应用程序商店下载 服务器将由个人客户在自己的网络上安装 对于所有客户 客户端应用程序都是相同的 我们无法为每个客户提交单独的应用程序 那
  • 使用 MEF 导入 WPF DataTemplate?

    我一直将 MEF 视为一种可扩展性框架 除了一点之外 我几乎被说服了 假设我想导入 ViewModel 和 View 来显示它 我认为 正确 的方法是让 MEF 部分导出 ViewModel 类和显示 ViewModel 的 DataTem
  • Python 社交身份验证 Django 模板示例

    有人有一个使用的开放示例吗Python 社交认证 http python social auth readthedocs org 在模板中使用 Django 我查看了他们的 Github 存储库 在 django exmaple 中 没有任
  • distutils 可以在不安装的情况下执行依赖性检查吗?

    是否可以让 distutils 只运行 python 模块依赖性分析 并且可能安装缺少的模块 而不实际安装有问题的 python 模块 我想象一个命令如下 setup py check dependencies 这将报告目标系统上是否缺少任
  • Bootstrap 4 在选择字段上验证时出现问题

    我是 jQuery 和 Bootstrap 的新手 我使用 jquery 和 Bootstrap 4 来验证我的表单模式 每当出现错误时 它必须在相应字段下方显示错误 但在我的情况下 选择字段会被错误和选择字段消失 但对于输入字段来说效果很
  • CSS 中的“>”是什么意思? [复制]

    这个问题在这里已经有答案了 可能的重复 CSS 规则中的 gt 是什么意思 https stackoverflow com questions 3225891 what does mean in css rules 什么是 gt CSS中的
  • 显示 Woocommerce 产品的默认变化价格

    我需要在 Woocommerce 产品中显示默认变化价格 我发现这篇文章和代码有效 gt Woocommerce 显示默认变化价格 https stackoverflow com questions 32319835 woocommerce
  • 在 Linux 上创建带范围的 wxSlider

    我正在尝试使用 Python 中的 wxSlider 创建一个带有范围选择选项的滑块 它有一个可选的范围参数 但问题是 SL SELRANGE 允许用户在滑块上选择范围 仅限 Windows 我正在使用Linux 我想我可以继承 wxSli
  • 在 UITableView 中点击单元格时显示 UIMenuController 时出现问题

    当用户长按分组 UITableView 中的单元格时 我尝试显示自定义 UIMenuController 但是 在成功检测到长按后 我似乎无法显示 UIMenuController 任何帮助是极大的赞赏 MyViewController h