- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发 iPhone 应用程序并使用 UIWebViews。我计划自定义当我在 UiWebView 中突出显示字符串(复制、全选、剪切等)时弹出的 UIMenuItems。我尝试删除这些菜单项,但无法删除“复制”菜单项。
我需要你们的帮助。
谢谢,ZaldzBugz
最佳答案
你将不得不进行一些劫持。我什至不知道这是否可能。看起来它可能响应一个名为 UILongPressGestureRecognizer 的手势事件。
您需要找出添加了手势的 View 。像这样的东西。
NSArray *gestures = myWebView.gestureRecognizers;
for(int i=0;i<[gestures count];i++){
UIGestureRecognizer g = [gestures objectAtIndex:i];
if([g isKindOfClass:UILongPressGestureRecognizer.Class]){
[myWebView removeGestureRecognizer:g];
break;
}
}
但我不认为手势直接在 UIWebview 上。它位于其 subview 之一。
所以它可能在这个 subview 上
UIScrollView *sview = [[mywebview subviews] objectAtIndex:0];
如果不是在那个 View 上,那么它可能是在最上面的 View 上,这就是我怀疑的。它是一种未记录的 View 类型,但如果您将其视为我们正在调用的方法的 UIView,那么它可能是安全的。另外,因为您将其视为 UIView,所以据我所知,它并不违反规则。
UIScrollView *sview = [[mywebview subviews] objectAtIndex:0];
UIView *realWebView = [[sview subviews] objectAtIndex:10];
我没有编写代码片段(未经测试)来尝试从所有 View 中删除手势的原因是因为您知道从哪个 View 中删除手势非常重要。
删除它后,您需要编写自己的 UILongPressGestureRecognizer,然后将新的 UILongPressGestureRecognizer 添加到相应的 View (它被删除的 View )。
您已经失去了复制选择等所有功能...但现在您可以实现自己的功能。
如果您想要一些旧功能,我想我知道如何恢复它,但是我不能保证这是允许的或安全的。
在删除手势之前,您需要重写 UIView 的方法。您应该能够在当前的工作类文件(位于文件顶部)中执行此操作
@implementation UIView (extended)
-(BOOL) respondsToSelector:(SEL)aSelector {
printf("SELECTOR: %s\n",
[NSStringFromSelector(aSelector) UTF8String]);
return [super respondsToSelector:aSelector];
}
@end
我不能 promise 任何事情,但这应该记录您 View 中调用的每个方法的名称。
运行您的应用程序并执行复制、粘贴、选择、选择所有方法。您的日志应该显示按下按钮时调用的方法。当您按下按钮时,它可能会显示多种方法,您可能只需要第一个。
现在,当您创建菜单项时,您知道要为其分配什么选择器。
这一切都只是猜测。希望对您有所帮助。
关于iphone - 如何删除 UIMenuController 中的 COPY UIMenuItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3262530/
UIMenuController 使用的 UIMenuItem 是否可以在即将弹出时更改其标题? 例如,当我允许 override func canPerformAction(action: Sele
想要隐藏显示剪切、复制、粘贴、选择、全选菜单的UIMenuController。 谁都知道怎么做 最佳答案 UIMenuController 的文档可在此处找到 http://developer.ap
我在长按和双击手势上显示 UIMenuController,但它没有显示。我已按照此处给出的答案进行操作,但它仍然没有出现。 UIMenuController not showing up 下面是我的
我目前有一个用于聊天的应用程序。我使用 UItextField 作为输入框,使用气泡来显示消息,比如系统短信。我想在消息气泡(标签)上启用复制粘贴。问题是,当我想显示 UIMenuController
您好,我想在 iPhone SDK3.x 中创建一个自定义气泡菜单,例如剪切/复制/粘贴菜单。我知道它是 UIMenuController 但它只提供标准的剪切/复制/粘贴菜单。任何人都知道如何制作类
我有一个 UIMenuController在 Collection View 单元格顶部有一个“删除”菜单项,当用户长按第 1 节的单元格时显示该菜单项: @IBAction func handleL
我已经使用 TextKit 实现了自定义 TextView 。另外,我还使用 UILongPressGesture 实现了自定义文本选择。我在使用标准弹出菜单 UIMenuController 复制选
有没有办法在 iOS 中向 UIMenuItem 添加自定义图像?它必须看起来像在 Android 中(下面的图像 + 文本)。可能有完整的自定义 Controller ?提前致谢。 最佳答案 是的,
我刚刚找到关于 UIMenuController 但不知道什么时候使用它?如果我创建 UITextField,看起来这个文本字段已经内置了 UIMenuController(因为我可以选择、编辑等)。
我是 iOS 的新手。我正在尝试显示一个弹出菜单,但我无法显示菜单。请帮忙。这是我的代码: //DidLoad function to initialize UILongPRessGestureRec
早上好! 我正在编写一个显示商店列表的应用程序,每个商店可以销售 2 种产品和/或可以是在线商店。 为了在我的应用程序上显示这个,我添加了一些“图标”,但如果它们不够“不言自明”,我正在寻找一种易于使
我有 UITextView,我想在其上添加突出显示作为自定义菜单项。我已注册到以下通知 UIMenuControllerWillShowMenuNotification。 通知的方法是这样的: if
我已经将 UIWebView 子类化以在其中添加自定义 UIMenuController 功能,它在 iOS 9 之前一直运行良好。我不确定发生了什么变化,但现在我遇到了这样一种情况,当我点击一个链接
我在 UIWebView 中创建了一个自定义的 UIMenuController 但之后它似乎摆脱了 UIMenuController 中的“Speak Selection”选项.说话选择选项在所有测
Apple 的消息应用程序以及许多其他第三方应用程序都支持使用 UIMenuController 样式的弹出窗口来选择消息。 但是,在浏览the documentation好像只用于文本相关的选择。
我创建了一个 UIMenuController 并将其设置为自定义菜单项,如下所示: UIMenuController *menuController = [UIMenuController shar
我正在尝试创建一个自定义 UIMenuController 并将其显示在我的 View 中。这是我的代码: UIMenuController *menuController = [UIMenuCont
我实际上对 iOS7 中用于在 UITableView 上显示自定义上下文菜单的更改感到有些困惑。 我的代码如下: - (void)viewDidLoad { UIMenuItem *delet
当用户在 UITextView 或 UIWebView 中选择某些文本时,将显示 UIMenuController。有没有办法以编程方式访问此选定的文本? 我需要它,因为我想将自定义项目添加到 UIM
我需要在我的应用程序中使用 uimenucontroller,当我移动 uiviewcontroller 中存在的任何选定的 uiview/uiimageView 时,我需要复制/粘贴/等选项。 这是
我是一名优秀的程序员,十分优秀!