Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何覆盖;“保存图像”;iOS 10上的WKWebView菜单_Ios_Objective C_Wkwebview - Fatal编程技术网

如何覆盖;“保存图像”;iOS 10上的WKWebView菜单

如何覆盖;“保存图像”;iOS 10上的WKWebView菜单,ios,objective-c,wkwebview,Ios,Objective C,Wkwebview,我想使用WKWebView开发iOS本机应用程序。 加载页面时,例如: 当我长按“谷歌”徽标时,它会弹出一个带有“保存图像”的UIAlertViewController “复制” “取消” 项目 但当我点击“保存图像”时,照片将保存到系统“照片库”中 我需要的是“保存图像”到我的应用程序文档文件夹 有没有办法实施它 当您长按WKWebview时,将显示菜单。您可以对其进行自定义,以向其添加新项目-带有自定义操作的新按钮。但不能修改现有的菜单操作 若要使用菜单将图像复制到其他位置,请添加新菜单以

我想使用WKWebView开发iOS本机应用程序。 加载页面时,例如: 当我长按“谷歌”徽标时,它会弹出一个带有“保存图像”的UIAlertViewController “复制” “取消” 项目

但当我点击“保存图像”时,照片将保存到系统“照片库”中 我需要的是“保存图像”到我的应用程序文档文件夹

有没有办法实施它


当您长按WKWebview时,将显示菜单。您可以对其进行自定义,以向其添加新项目-带有自定义操作的新按钮。但不能修改现有的菜单操作

若要使用菜单将图像复制到其他位置,请添加新菜单以将图像保存到文档文件夹

UIMenuItem *menuItem = [[UIMenuItem alloc] initWithTitle:@"Copy Image"
                                                      action:@selector(customAction:)];
[[UIMenuController sharedMenuController] setMenuItems:[NSArray arrayWithObject:menuItem]];
只需删除所有“长按”手势识别器或对其进行调试,并准确了解需要删除的识别器:

for (UIView *subView in self.webView.scrollView.subviews) {
    for (UIGestureRecognizer *recogniser in subView.gestureRecognizers) {
        if ([recogniser isKindOfClass:UILongPressGestureRecognizer.class]) {
            [subView removeGestureRecognizer:recogniser];
        }
    }
}

您可以插入js逻辑来阻止默认操作,并将事件传递给本机端

您可以看到详细的说明


可以找到示例代码。

感谢您的及时回复。我再次编辑了这个问题。更详细地说,我指的是第一个屏幕截图中类似UIActionSheet的控件。我猜你提到了WKWebview中的第二个菜单,对吗?