【问题标题】:Custom UIMenuController to get tableView index OR Remove unwanted options from default UiMenuController自定义 UIMenuController 以获取 tableView 索引或从默认 UiMenuController 中删除不需要的选项
【发布时间】:2013-04-17 12:36:59
【问题描述】:

我在我的应用程序中实现UIMenuController 以从自定义 tableviewCell 复制文本。

我有两种选择,

选项 1. 使用 tableviews shouldShowMenuForRowAtIndexPath delegates 方法

选项 2。使用自定义 UIMenuController。为此,我在视图中添加了(长按/双击)手势识别器。(我不想将 didSelect 用于其他目的)

我真正想要做的是 - 当我在 tableView 中(长按/双击)时显示 only 复制选项并捕获该 tableView 的indexPath

选项 1 的问题是,它默认提供三个选项,即剪切、复制、粘贴。 选项 2 的问题是,我无法获取表格的索引,因为我的长按手势识别器方法没有 indexPath 的信息。

有什么方法可以让这两个东西都正常工作(仅复制选项和在手势上获取 indexPath)。

【问题讨论】:

标签: iphone uigesturerecognizer uimenucontroller


【解决方案1】:

选项 2 将起作用。 您可以通过长按方法获取索引路径。

if (recognizer.state == UIGestureRecognizerStateBegan) {
    UITableView *cell = (UITableView *)recognizer.view;
    NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];

    UIMenuController *menu = [UIMenuController sharedMenuController];
    [menu setMenuItems:[NSArray arrayWithObjects:flag, approve, nil]];
    [menu setTargetRect:cell.frame inView:cell.superview];
    [menu setMenuVisible:YES animated:YES];
}

记住您班级中的索引路径并从中获取访问权限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-14
    • 1970-01-01
    • 2018-01-20
    • 1970-01-01
    • 1970-01-01
    • 2014-08-23
    • 1970-01-01
    相关资源
    最近更新 更多