Xamarin 从UIWebView事件侦听器迁移到WKWebView事件侦听器

Xamarin 从UIWebView事件侦听器迁移到WKWebView事件侦听器,xamarin,xamarin.forms,xamarin.ios,Xamarin,Xamarin.forms,Xamarin.ios,因此,我的目标是在Xamarin.iOS表单项目中将所有现有的UIWebView迁移到WKWebView。我在迁移一些东西时遇到了一些困难。以下是几个例子: 添加事件侦听器: WebView.AddEventListener("javscriptRoutine", delegate (FireEventData arg) { //do something }); 事件处理程序: WebView.LoadStarted += (object sender, E

因此,我的目标是在Xamarin.iOS表单项目中将所有现有的UIWebView迁移到WKWebView。我在迁移一些东西时遇到了一些困难。以下是几个例子:

添加事件侦听器:

WebView.AddEventListener("javscriptRoutine", delegate (FireEventData arg) {
     //do something             
});
事件处理程序:

WebView.LoadStarted += (object sender, EventArgs e) => {
     //do something
};

以下是UIWebView功能的两个示例,我在迁移到WKWebView功能时遇到了困难。在WKWebView类中,这两个方法是否有等效的方法?

对于事件处理程序,您可以使用
WKNavigationDelegate

wkWebView.NavigationDelegate = new MyWKWebViewDelegate();

public class MyWKWebViewDelegate : WKNavigationDelegate
{
    //Method will fire when data begins to load.
    public override void DidStartProvisionalNavigation(WKWebView webView, WKNavigation navigation)
    {

    }
}
要添加事件侦听器,是否要在iOS上使用JS方法?如果是,您可以尝试:

wkWebView.EvaluateJavaScript("JSMethodNameString", delegate (NSObject result, NSError error)
{

});