当前位置: 首页 > 知识库问答 >
问题:

使用SwiftUI2.0创建WebView不能从UIViewPresable创建视图

左丘季
2023-03-14

我正在尝试在Swiftui2.0Xcode 12.4中创建一个WebView视图,但它太新了,我找不到答案和最佳实践的好例子。对于下面的代码,我得到以下错误。

类型SwiftUIWebView不符合协议UIView表示

此外,配置设置已更改,我无法启用。正确地允许使用JavaScript。尝试将其添加到“perfs”会触发一个错误,抱怨不喜欢Bool。

import SwiftUI
import WebKit

struct SwiftUIWebView: UIViewRepresentable {
    let url: URL?
    func makeUIView(context: Context) -> some WKWebView {
        let prefs = WKWebpagePreferences()
        let config = WKWebViewConfiguration()
        config.defaultWebpagePreferences = prefs
        return WKWebView(frame: .zero, configuration: config)   //frame CGRect
    }
    func updateUIView(_ uiView: WKWebView, context: Context) {
        guard let myURL = url else { return }
        let request = URLRequest(url: myURL)
        uiView.load(request)
    }
}

共有1个答案

商开济
2023-03-14

从此行中删除一些:

func makeUIView(context: Context) -> some WKWebView {

some是处理泛型和不透明类型时使用的一个特定关键字(有关更多阅读信息,请参阅此链接:Swift(UI)中的'some'关键字是什么?)。在这种情况下,您不需要泛化WKWebView,因为您完全知道它是什么。

您可以设置prefs。通过执行以下操作,AllowContentJavaScript属性:

prefs.allowsContentJavaScript = true
 类似资料:
  • 问题内容: 我有一个我想在SQL企业管理器中创建表的视图,但是运行此查询时总是会出现错误: 到目前为止,错误是:“’as’处的语法错误” 视图太大。是否可以使用前10名? 问题答案: 不支持。 用这个: 或者

  • 我的问题是:为什么我不能自动连接我的地图与接口,而我可以与实现? 多谢了。

  • 启用minifyEnabled后,在我的gradle文件中启用ḿy应用程序继续崩溃。我已经搜索了很多,但我觉得与Proguard不太适应,我也不确定问题出在哪里。也许我需要添加更多的keep in proguard rules pro? build.gradle 前进的规则。赞成的意见 错误: 有什么想法吗?提前谢谢。

  • 视图概述 视图作为MVC模式中的终端环节,在web编程中负责dom结构的展示。grace 使用 php作为“天然模板“,您不必再去学习枯燥无聊的模板语法,系统更不必浪费资源去完成复杂的解析工作! 视图文件创建及命名规则 视图文件命名 : 1、控制器名称_方法名称.php //此种命名系统会进行自动展示 2、视图名称.php //需要手动调用 视图文件位置 : /分组文件夹/views/对应视图文件

  • 问题内容: 我现在可以编译ffmpeg并将其添加到项目创建的Android.mk文件的jni文件夹中,我想使用ffmpeg从存储在静态arraylist中的图像创建视频文件 我已经搜索了很多,但找不到任何教程,对此表示感谢。 问题答案: 我也有类似的需求,并且达到了相同的目的。您可以通过两种方式执行此操作。我想先分享一个简单的例子。 在Android内部创建一个临时文件夹。 将图像复制到新文件夹中

  • 问题内容: 搜索后,我没有在网上或任何其他资源中找到任何东西,我想知道您是否可以通过联接另一个视图和一些其他表来形成一个视图?我猜类似的东西与Server_ref.part_notification_view是要加入的视图。 问题答案: 您当然可以在另一个视图的基础上建立一个视图: 但是您不能引用基础表中的任何内容,包括不属于视图的任何字段: 具有相同列的基础表不是问题,并且如果您在视图中包含的内