uiwebview 中的 uimenucontroller 带有自定义菜单项,没有更多菜单
Posted
技术标签:
【中文标题】uiwebview 中的 uimenucontroller 带有自定义菜单项,没有更多菜单【英文标题】:uimenucontroller in uiwebview with custom menu items without MORE menu 【发布时间】:2010-11-30 06:07:15 【问题描述】:在我的 iPad 应用程序中,有一个 UIWebview 显示文本内容。当我点击按住并选择一个文本时,应该会弹出一个带有 2 个自定义菜单的菜单。
说,|菜单1 |菜单2 |
但似乎复制菜单也会伴随,我无法禁用。有没有可能禁用它?我在论坛上试了试,没有找到解决办法。
所以可以将 COPY 菜单与其他 2. 一起保留。现在应该看起来像
|复制 |菜单1 |菜单2 |
但不幸的是,我将其显示为更多菜单,如下所示:
|复制 |更多... |
单击“更多...”菜单将显示另外 2 个菜单。
但我需要在第一次尝试时显示所有这 2 个项目。要么只有 2 个菜单,要么至少与复制菜单一起使用。
|复制 |菜单1 |菜单2 |
或
|菜单1 |菜单2 |
请给我一些解决方案....尝试了很多方法..但没有任何结果... 请帮帮我...
谢谢, 布赖恩
【问题讨论】:
【参考方案1】:似乎没有办法在不替换 UIMenuController 的情况下做到这一点。一种选择是处理您自己的 UILongPressGestureRecognizer(请参阅How to remove th COPY UIMenuItem in UIMenuController)。我已经看到您覆盖 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];
`
【讨论】:
以上是关于uiwebview 中的 uimenucontroller 带有自定义菜单项,没有更多菜单的主要内容,如果未能解决你的问题,请参考以下文章
嵌入在 UIScrollview 中的 UIWebview 中的 Javascript 触摸事件