首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WKNavigationDelegate和WKUIDelegate有什么区别?

WKNavigationDelegate和WKUIDelegate有什么区别?
EN

Stack Overflow用户
提问于 2019-09-04 07:07:32
回答 1查看 2.4K关注 0票数 2

我能在一个项目中同时使用它们吗?为了打开CreateWebView链接,我需要重写WKUIDelegate的CreateWebView方法:

代码语言:javascript
复制
public override WKWebView CreateWebView(WKWebView webView, WKWebViewConfiguration configuration, WKNavigationAction navigationAction, WKWindowFeatures windowFeatures)
    {
        var url = navigationAction.Request.Url;
        if (navigationAction.TargetFrame == null)
        {
            webView.LoadRequest(navigationAction.Request);
        }
        return null;
    }

当我在演示中使用WKUIDelegate时,它会工作(打开目标_blank)。但在实际项目中,他们也使用了WKNavigationDelegate。而应用WKUIDelegate CreateWebView不起作用。

渲染器中的OnElementChange如下所示:

代码语言:javascript
复制
var config = new WKWebViewConfiguration { };
            webView = new WKWebView(Frame, config);
            // Set the delegate here
            webView = new WKWebView(this.Frame, new WKWebViewConfiguration());
            webView.ScrollView.ScrollEnabled = true;
            webView.ScrollView.Bounces = true;
            webView.NavigationDelegate = new DisplayLinkWebViewDelegate();
            webView.UIDelegate = MyWkWebViewDelegate();
            SetNativeControl(webView);
EN

回答 1

Stack Overflow用户

发布于 2019-09-04 08:24:46

WKNavigationDelegate:它帮助您实现在web视图接受、加载和完成导航请求的过程中触发的自定义行为。

WKUIDelegate类提供了代表网页表示本机用户界面元素的方法。

这里的网页不是webview,而是加载在webview上的html。

正如我们在下面的图片中所看到的

WKUIDelegate中的方法都与JS相关联。

有关这两种协议的更多详细信息,您可以查看https://developer.apple.com/documentation/webkit/wkuidelegate?language=objc

https://developer.apple.com/documentation/webkit/wknavigationdelegate?language=objc

如果您想在webview完成加载时执行某些操作,则可以在DidFinishNavigation中实现WKNavigationDelegate方法。

代码语言:javascript
复制
public override void DidFinishNavigation(WKWebView webView, WKNavigation navigation)
{
  if(!webView.IsLoading)
  {
     // do some thing you want
  }
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57783180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档