确定选择 UIMenuItem 的 TableView 的 Cell

Posted

技术标签:

【中文标题】确定选择 UIMenuItem 的 TableView 的 Cell【英文标题】:Determine the Cell of TableView on which UIMenuItem was selected 【发布时间】:2012-10-01 09:59:23 【问题描述】:

我正在使用UIMenuController 在表格视图的单元格上显示上下文菜单。

UIMenuItem *ren = [[UIMenuItem alloc] initWithTitle:@"Rename" action:@selector(onRenameItem:)];
/* .... then set menu visible on long press ...*/

选择器:

-(void) onRenameToken:(id) sender 
        /* ...Identify the selected cell??? ... */ 
    NSLog(@"Cell to be renamed is : %@",cell);

我的问题是如何识别需要重命名的单元格。换句话说,确定选择器正在执行的单元格?

PS:ios 编程新手。所以请原谅任何术语错误或愚蠢的问题。

【问题讨论】:

【参考方案1】:

也许下面的讨论可以帮助你一点: How to show a custom UIMenuItem for a UITableViewCell? 好像没那么简单!

【讨论】:

【参考方案2】:

我可能会继承UITableViewCell 并将onRenameItem:(或onRenameToken:)方法放在那里。

由于我不确定您所说的“重命名”究竟是什么意思,因此单元格可以重命名自身,或者它可以向某个控制器对象发送通知以进行实际重命名。通知可以包括一个对象和/或一个用户信息字典,因此它可以告诉控制器它自己的身份以及需要做什么的任何其他细节。

【讨论】:

重命名只是我想​​对单元格中显示的对象执行的操作。还有更多选项,例如删除、激活、同步。所以基本上我想要一种通用的方法来识别选择了上下文菜单的单元格。 你能用一些例子或代码详细说明通知的事情吗?感谢您的回复...

以上是关于确定选择 UIMenuItem 的 TableView 的 Cell的主要内容,如果未能解决你的问题,请参考以下文章

iOS:具有单个选择器的多个 UIMenuItem

自定义编辑菜单中 UIMenuItem 的顺序

iOS:如何从 UIMenuController 获取选定的 UIMenuItem

即使在指针设置为 nil 后 UIMenuItem 仍会继续显示

如何在 UIMenuItem 中显示多行?

为特定的 UITextView 添加 UIMenuItem?