WKWebView 图像选择器捕获选择图片 iOS 的事件



我正在使用WKWebView,我正在点击"加载文件"。WKWebView为我打开UIImagePickerView,在此期间我需要知道 - 选择了什么图像。

为我工作。

override func present(_ viewControllerToPresent: UIViewController, animated flag: Bool, completion: (() -> Void)? = nil) {
if let imagePicker = viewControllerToPresent as? UIImagePickerController {
previousIPDelegate = imagePicker.delegate
imagePickerController = imagePicker
imagePickerController?.delegate = self
}
super.present(viewControllerToPresent, animated: flag, completion: completion)
}

在此之后 - 您将能够使用 didFinishPickingMediaWithInfo func工作,您可以在其中捕获和使用选定的媒体,应该将旧委托返回给 imagePicker 并在旧委托中调用 didFinishPickingMediaWithInfo func

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
var newInfo = info
if let pickedImage = newInfo[UIImagePickerControllerOriginalImage] as? UIImage {
/// DO YOUR STUFF HERE
}
picker.delegate = previousIPDelegate
previousIPDelegate?.imagePickerController!(picker, didFinishPickingMediaWithInfo: newInfo)
}

你应该在 DidCancel 函数中做同样的事情

func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
picker.delegate = previousIPDelegate
previousIPDelegate?.imagePickerControllerDidCancel!(picker)
}

最新更新