所以我的目标是将所有现有的UIWebViews迁移到我们的Xamarin.iOS表单项目中的WKWebViews。我在迁移一些事情时遇到了一些困难。以下是一些例子:
添加事件监听器:
WebView.AddEventListener("javscriptRoutine", delegate (FireEventData arg) {
//do something
});
事件处理程序:
WebView.LoadStarted += (object sender, EventArgs e) => {
//do something
};
这是UIWebView功能的2个示例,我很难迁移到WKWebView功能。在WKWebView类中是否有这两种方法的等效方法?
答案 0 :(得分:2)
对于事件处理程序,您可以使用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)
{
});