3

在我的 iPad 应用程序中,有一个 UIWebview 显示文本内容。当我点击按住并选择一个文本时,应该会弹出一个带有 2 个自定义菜单的菜单。

说,| 菜单1 | 菜单2 |

但似乎复制菜单也会伴随,我无法禁用。有没有可能禁用它?我在论坛上试过,没有解决方案。

所以可以将 COPY 菜单与其他 2 一起保留。现在应该看起来像

| 复制 | 菜单1 | 菜单2 |

但不幸的是,我用 MORE 菜单显示它,如下所示:

| 复制 | 更多... |

单击“更多...”菜单将显示其他 2 个菜单。

但我需要在第一次尝试中显示所有这两个项目。要么只是两个菜单,要么至少与复制菜单一起。

| 复制 | 菜单1 | 菜单2 |

或者

| 菜单1 | 菜单2 |

请给我一些解决方案....以多种方式尝试..但没有任何效果...请帮助我...

谢谢,布赖恩

4

1 回答 1

2

似乎没有办法在不替换 UIMenuController 的情况下做到这一点。一种选择是处理您自己的 UILongPressGestureRecognizer(请参阅如何在 UIMenuController 中删除 COPY UIMenuItem)。我已经看到您覆盖 canPerformAction 的建议,但这不起作用。有趣的是,“复制:”操作从未被调用,尽管其他所有内容(剪切:,选择:等)似乎都是如此。

- (BOOL) canPerformAction:(SEL)action withSender:(id)sender
{
    if (action == @selector(defineSelection:))
    {
        return YES;
    }
    else if (action == @selector(translateSelection:))
    {
        return YES; 
    }
    else if (action == @selector(copy:))
    {
        return NO;
    }

    return [super canPerformAction:action withSender:sender];
}

`

于 2010-12-10T21:26:56.140 回答