我需要将我的代码更新为swift 3.下面的代码是完美的原始解决方案,但是在XCode 8 beta和iOS 10中使用swift 3时,'userContentController'委托在我使用原始的html + js代码时没有调用打电话给本机.
class ViewController: UIViewController, WKUIDelegate, WKScriptMessageHandler, WKNavigationDelegate,UIWebViewDelegate,CLLocationManagerDelegate,URLSessionDataDelegate,UIImagePickerControllerDelegate, UINavigationControllerDelegate {
....
func initWebView(){
// JAVASCRIPT PART
let contentController = WKUserContentController();
let jScript:String = "var meta = document.createElement('meta'); meta.setAttribute('name', 'viewport'); meta.setAttribute('content', 'width=device-width'); document.getElementsByTagName('head')[0].appendChild(meta);";
let wkUScript:WKUserScript = WKUserScript(source: jScript, injectionTime: WKUserScriptInjectionTime.atDocumentEnd, forMainFrameOnly: true);
contentController.addUserScript(wkUScript)
contentController.add(
self,
name: "refreshWebPage"
)
contentController.add(
self,
name: "forceStepBack"
)
contentController.add(
self,
name: "setPageTitle"
)
contentController.add(
self,
name: "allowBackNavigate"
)
contentController.add(
self,
name: "changeBackNavigationURL"
)
contentController.add(
self,
name: "changeLeftButtonIconVisibility"
)
contentController.add(
self, …Run Code Online (Sandbox Code Playgroud) 在我们的应用程序中,我们使用WKWebView显示Web内容,但文件上载工作不正确.在iPhone上,我们可以从照片库(或拍照)浏览,但在选择文件后,缩略图显示在文件输入的右侧,然后快速显示网页(或者我看到的整个ViewController)重新加载自己(和使用默认URL的网页).没有图像上传到服务器.
但!!在具有相同操作系统版本的iPad上,我们可以成功上传照片或捕获的图像.
任何的想法?谢谢!