【发布时间】:2020-04-26 08:46:16
【问题描述】:
我的 Xamarin Forms 应用程序中有一个 webview,它可以打开从服务器下载的 html 格式的报告。今天我将我归档的应用程序上传到应用商店并获取有关ITMS-90809: UIWebView API Deprecation 的信息。
问题是我不知道如何在跨平台应用程序中用 WKWebView 替换 UIWebView。我尝试了几种解决方案:
1) 为 WebView 创建自定义渲染器 - 但这并不是真正的解决方案,因为我需要通过 WebView 超类继承我的新类。所以 Apple 再次用同样的信息警告我。
2) 仅在 ios 项目中创建依赖服务并使用自定义渲染器。但这是同样的问题 - 共享项目中仍然存在 WebView 引用。
那么,有没有什么办法可以直接将 WKWebView 注入 iOS 中的 StackLayout 呢?我知道 WKWebView 仅适用于 iOS,而 StackLayout 是 Xamarin.Forms 组件,但我真的不知道该怎么做。
谁能帮帮我?
【问题讨论】:
-
这会有帮助吗? forums.xamarin.com/discussion/129626/… 看起来在渲染器中它将组件设置为 WKWebView 而不是常规的 UIWebView。
-
这是我的解决方案 1。它不适合我
-
但是当您在 Xamarin.Forms 中时,WebView 只是它对幕后内容的表示;我假设在您的 AssemblyInfo.cs 中它没有设置为: [assembly: ExportRenderer(typeof(Xamarin.Forms.WebView), typeof(Xamarin.Forms.Platform.iOS.WebViewRenderer))] 因为这会将其切换回默认 UIWebView
标签: xamarin.forms uiwebview wkwebview