【问题标题】:How can i use WKWebView instead of UIWebView in Xamarin Forms WebView(iOS)如何在 Xamarin Forms WebView(iOS) 中使用 WKWebView 而不是 UIWebView
【发布时间】:2017-07-19 03:28:09
【问题描述】:

我正在使用 Xamarin.Forms (PCL) 进行移动应用程序开发。我正在使用 Xamarin WebView 呈现一些 Web 视图内容,并且在 iOS 应用程序中遇到性能问题。所以,我分析了一下,发现WKWebView会提升性能。

如何在 Xamarin Forms WebView 中使用 WKWebView 而不是 UIWebView ?是否有任何自定义渲染可用于执行此操作?

【问题讨论】:

  • 不,遗憾的是没有实现 WKWebView 的渲染器,您必须自己做。

标签: webview xamarin.ios xamarin.forms wkwebview


【解决方案1】:

是的,您可以使用 WKWebView 创建自定义渲染器。

请看下面,这是 WebView 的 ios 渲染器类:

[assembly: ExportRenderer(typeof(CustomWebView), typeof(CustomWebViewRenderer))]
namespace DemoApp.iOS.Renderers
{
    public class CustomWebViewRenderer : ViewRenderer<CustomWebView, WKWebView>
    {
        protected override void OnElementChanged(ElementChangedEventArgs<CustomWebView> e)
        {
            base.OnElementChanged(e);
        }
    }
}

更多信息click here

【讨论】:

  • 您有任何代码 sn-p 用于将 Xamarin.WebView 与 WKWebView 映射吗?
  • @Karthik 见下面的链接,有使用 WKWebview github.com/xamarin/xamarin-forms-samples/tree/master/…的混合 web 视图示例
  • @Karthik,如果对您有帮助,请接受我的回答。所以,它会帮助其他人。
  • @PavanVParekh - 这对我不起作用。我建立了一个新项目,并将主页内容设置为 WebView 开始,它按预期工作。当我创建一个自定义渲染器(我称之为 WebViewExt)时,使用上面包含的代码(当然,用我的名字替换了 CustomWebView 和 CustomWebViewRenderer),我得到一个空白的 Web 视图。我是否需要自己在OnElementChanged 覆盖(通过SetNativeControl)中实际设置控制器?
猜你喜欢
  • 2021-02-26
  • 2020-04-26
  • 2016-05-28
  • 1970-01-01
  • 1970-01-01
  • 2020-05-08
  • 2020-03-30
  • 2016-03-22
  • 2020-08-24
相关资源
最近更新 更多