将 javascript 注入 SwiftUI WebKit

2024-02-25

如何将 SwiftUI WebKit 视图的文本大小设置为 @State 变量?我有这段代码,允许我在 SwiftUI 中使用 WebViews

import SwiftUI
import WebKit

struct WebView : UIViewRepresentable {

   var url : URL;

   func makeUIView(context: Context) -> WKWebView {
       return WKWebView();
   }

   func updateUIView(_ uiView: UIViewType, context: Context) {
       uiView.loadFileURL(url, allowingReadAccessTo: url)
   }
}

I saw this https://github.com/yamin335/SwiftUIWebView/blob/b588cfbb0e17dad5a3d5a5fd8754ae43129ca7de/SwiftUIWebView/WebView.swift#L90并尝试复制它,

    class Coordinator : NSObject {
        func webView(_ webView: WKWebView, js : String) {
            webView.evaluateJavaScript(js)
        }
    }

但我无法让它发挥作用。

提前致谢。


加载完成后,您可以尝试在导航委托中执行此操作,如下所示:

class Coordinator : NSObject, WKNavigationDelegate {
    // ... any other code

    func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
        webView.evaluateJavaScript(js, completionHandler: { (value, error) in
             // .. do anything needed with result, if any
        })
    }
}

struct WebView : UIViewRepresentable {

   var url : URL;

   func makeUIView(context: Context) -> WKWebView {
       let webview = WKWebView()
       webview.navigationDelegate = context.coordinator
       return webview
   }

    func makeCoordinator() -> Coordinator {
        Coordinator()
    }

   func updateUIView(_ uiView: UIViewType, context: Context) {
       uiView.loadFileURL(url, allowingReadAccessTo: url)
   }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 javascript 注入 SwiftUI WebKit 的相关文章

  • 使用 Metal 高效计算 UIImage/CIImage 中有多少透明像素

    我们可以计算有多少个透明像素的最快方法是什么CIImage UIImage 例如 如果我们谈论效率 我的第一个想法是使用Metal Kernel使用任一CIColorKernel左右 但我不明白如何使用它来输出 计数 我还有其他想法 使用某
  • Xcode 6.4 Swift 单元测试无法编译:“GPUImage.h 未找到”“无法导入桥接标头”

    我的 Xcode 项目构建并运行良好 它有 Swift 和 Objective C 代码 它已安装 GPUImage 我向它添加了单元测试 现在它将不再编译 找不到 GPUImage h 文件 导入桥接标头失败 以下是我发现并尝试过的解决方
  • 如何将图像转换为 UIImage?

    如何转换 SwiftUIImage to a UIImage let image Image systemName circle fill let UIImage image as UIImage 没有直接的方法将 Image 转换为 UI
  • 如何使用存储在 Cocoa Touch 框架中的 Localized.strings?

    我想为 CocoaTouch 框架添加多语言支持 问题 可本地化的字符串我创建的文件仅被使用NSLocalizedString当它是主应用程序及其目标的一部分时 我想将其存储在框架内以将事物分开 我怎样才能使用可本地化的字符串当放置在 Co
  • 使用 Swift 创建 NSAlert

    我有在 Objective C 中创建和 NSAlert 的代码 但我现在想在 Swift 中创建它 该警报旨在确认用户想要删除文档 我想要 删除 按钮来运行删除功能 而 取消 按钮只是为了消除警报 我怎样才能用 Swift 写这个 NSA
  • 如何快速防止标签中出现孤儿?

    我有一个可以有一两行的标签 如果它有两行 我希望第二行至少有两个 或者可能三个 单词 而不仅仅是一个 关于如何使用 swift 实现这一点有什么想法吗 提前致谢 Daniel 编辑 我删除了我愚蠢的第一个想法 这些想法并没有真正的帮助 好吧
  • CIAdditionCompositing 给出不正确的效果

    我正在尝试通过平均其他几个图像来创建图像 为了实现这一点 我首先将每个图像变暗 其系数等于我平均的图像数量 func darkenImage by multiplier CGFloat gt CIImage let divImage CII
  • 在completionHandlers中存储值 - Swift

    我正在创建一个completionHandler它返回一个字典 但是当我在另一个类中调用这个方法时 它的值是零 func fetchLatestPosts completionHandler responseDict NSDictionar
  • 在SwiftUI中,如何高性能地绘制阴影?

    我用 shadow color radius x y 在我的应用程序中绘制阴影 这是我所知道的在 SwiftUI 中绘制应用程序的唯一方法 我用 sheet isPresented content 方法弹出一个视图 其中包含很多阴影 当我调
  • Swift 中的 viewWillLayoutSubviews

    我正在尝试翻译SKScene scene GameScene sceneWithSize skView bounds size 进入 swift 但我收到错误 sceneWithSize 不可用 使用对象构造 SKScene size 我在
  • 进入后台时 Alamofire 请求卡住?

    我正在使用 Alamofire 调用 Web 服务 该服务需要相当长的时间才能加载 如果应用程序进入后台 当我返回应用程序时 我会被加载程序卡住 我想这是因为调用永远不会向我的完成处理程序返回任何内容 我该如何解决这个问题 您可以使用后台抓
  • iOS WKWebView 处理文件下载

    我面临以下问题 在 Web 界面中 文件下载是通过锚标记触发的 如下所示 a href bla blabla a 虽然 Safari 浏览器可以处理此请求并打开一个对话框来处理文件 但 WKWebView 将此视为普通链接并且不对其执行任何
  • 保存来自 TrueDepth 相机的深度图像

    我正在尝试保存 iPhone X TrueDepth 相机的深度图像 使用AVCam照片滤镜 https developer apple com library content samplecode AVCamPhotoFilter Lis
  • Swift:检查 UISearchBar.text 是否包含 url

    如何检查 UISearchBar text 是否包含 URL 我想做这样的事情 if searchBar text NSTextCheckingType Link 但我收到错误 String is not convertible to NS
  • 二元运算符“/”不能应用于两个(Int)操作数[重复]

    这个问题在这里已经有答案了 我得到了Binary operator cannot be applied to two Int operands当我将以下代码放入 Xcode 中的 Swift Playground 时出错 func sumO
  • 如何将CIFilter应用到UIView上?

    根据Apple docs 过滤属性CALayer不支持iOS 当我使用正在申请的应用程序之一时CIFilter to UIView即 Splice Funimate 和 Artisto 的视频编辑器 Videoshow FX 这意味着我们可
  • 循环多个 UIAlertController

    在某些情况下 我的应用程序需要显示多个警报消息 错误消息在启动时收集 并且需要一次向用户显示一条 当第一个被确认后 应该呈现下一个 问题在于 显然 它们都试图同时执行 有没有一种聪明的方法可以同步执行此操作 这是一些简单描述我想要做的事情的
  • 在 Swift 中以编程方式为 iOS 制作带有名字首字母的图像,例如 Gmail

    我需要在 UITableView 中显示与其姓名相对应的每个用户的个人资料图片 在下载图像之前 我需要显示一张带有他名字的第一个字母的图像 就像在 GMail 应用程序中一样 如何在 Swift for iOS 中以编程方式执行此操作 不需
  • iOS Swift 和 reloadRowsAtIndexPaths 编译错误

    我与 xCode Swift 陷入僵局并刷新 UITableView 的单行 这条线有效 self tableView reloadData 而这条线没有 self tableView reloadRowsAtIndexPaths curr
  • 检查 Swift 中关联类型是否符合协议

    在类似情况下 如何检查对象是否符合 可表示 协议 protocol Representable associatedtype RepresentType var representType RepresentType get set cla

随机推荐

  • ItemNotMappedException: XYZ 没有工作文件夹映射

    我通过 VersionControlOnNonFatalError Eventhandler 收到异常 内容如下 C SqlWorkspace 没有工作文件夹映射 我的机器上确实有该映射 因此 我想知道出了什么问题 该错误是在 worksp
  • 使用派生较多的参数调用重载函数的更好方法,传入派生较少的类型

    我有 16 个带有两个参数的方法 这两个参数中的每一个都可以是 插入 或 删除 它们都实现了 IFragment 我还有四个像这样的辅助函数 static IFragment IntroduceAntecedent IFragment on
  • Laravel - 如何在会话中存储多个对象

    目前 这仅在会话中存储名字 我需要在会话中存储所选用户的一些其他对象 例如级别和城市 我怎样才能做到这一点 id username first name last name level city 1 john John Parks 1 Lo
  • 如果选择了特定的选择选项值,则显示 div

    如果用户从选择下拉列表中选择特定选项值 我会尝试显示 div Example 选择下拉列表包含从数据库获取的动态名称以及列表底部称为 Admin 的静态或永久名称 如果用户选择不是 Admin 的选项 则会显示包含特定表单元素的 div 否
  • 如何在android中将一组按钮对齐到屏幕底部

    在我的布局中有四个部分 分别是标题 可编辑控件 列表和一组按钮 我想将按钮保留在屏幕底部 我对布局做了太多更改 迫使按钮位于底部 但什么也没发生 请提供说明来制作我需要的东西 我也发布布局
  • 如何在传入服务器的所有 HTTP 请求中包含 php 脚本

    我有一个名为init php我希望自动包含在发送到我的服务器的每个 HTTP 请求中 我的服务器采用 LAMP 配置 采用 PHP 5 3 和快速 CGI 任何实现这一目标的方法都是受欢迎的 我已经尝试过的 我已经尝试过auto prepe
  • Fragment 中的按钮 setOnClickListener onCreateView() 或 onActivityCreated()

    通过这个答案 https stackoverflow com a 32656807 3838663我不明白该把我的东西放在哪里onClickListener 里面onCreateView 或里面onActivityCreated 下面的代码
  • 位桶中没有问题跟踪器按钮?

    我正在尝试在 bitbucket 私有存储库上设置问题跟踪 但没有用于管理 添加问题的按钮 在this https confluence atlassian com bitbucket use the issue tracker 22144
  • ASP.NET MVC 4 - 用于嵌套集合的 EditorTemplate

    我有以下模型类 为了解决这个问题而简化了类 public class Lesson public Guid Id get set public string Name get set public List
  • 触发复选框的更改事件

    我有 7 个复选框 A B C D E F G 当我单击其中之一时 该值将附加到文本区域 如果我取消选中一项 该值将从文本区域中删除 jquery代码如下 var checkboxes input type checkbox checkbo
  • facet_grid 中每个图基于密度的独立 alpha

    我正在构建一个facet grid using stat hexbin但是我希望每个方面图的 alpha 值都是独立的 我目前正在使用以下代码 ggplot data aes x y fill z stat binhex bins 20 a
  • 在 Bash 中连接变量[重复]

    这个问题在这里已经有答案了 我正在尝试将一个变量添加到变量的中间 因此例如在 PHP 中我会这样做 mystring arg1 12 arg2 endoffile 所以输出可能是20121201endoffile 如何在 Linux bas
  • E492:不是编辑器命令:NERDTree

    当我跑步时vim 打开文件夹时出现以下错误 Error detected while processing VimEnter Auto commands for E492 Not an editor command NERDTree Pre
  • Firefox 插件的“document_start”?

    我来自 Chrome 扩展 所以我习惯于通过设置来定义何时注入文件run at 例如 到document start用于在 DOM 构建之前进行注入 Firefox 插件有等效的吗 是的 相当于content document global
  • 用户提供的 Terminate() 函数必须是线程安全的吗?

    如中所述http en cppreference com w cpp error terminate http en cppreference com w cpp error terminate调用终止的原因有很多 我可以想象其中一些原因几
  • 在 Ruby 数组中收集重复项的最快/单行方法?

    转换数组的最快 单行方法是什么 1 1 1 1 2 2 3 5 5 5 8 13 21 21 21 到这样的对象数组中 1 gt 4 2 gt 2 3 gt 1 5 gt 3 8 gt 1 13 gt 1 21 gt 3 为了实现您想要的格
  • 如何等待WPF绑定延迟完成

    我的 ViewModel 实现了 INotifyPropertyChanged 和 INotifyDataErrorInfo 接口 当属性更改时 将触发验证 从而启用 禁用 保存 按钮 由于验证步骤非常耗时 因此我使用了 延迟 绑定属性 我
  • GAPI 的 OAuth - 首次登录 Javascript 后避免身份验证和授权

    我创建了一个 chrome 扩展 可以读取电子邮件 执行某些操作并使用 javascript 的 google 客户端 API 创建任务 我使用 chrome 身份进行身份验证和授权 扩展按预期工作 然而 它每隔一段时间就会要求签名 我想要
  • Boost::Log 和日志编号

    我最近尝试通过 Boost log 将一些日志记录添加到一个小型应用程序中 但是 使用日志轮换 由于某种原因 我无法让它在日志目录中拾取正确的计数器 例如 如果我的Logs目录包含文件Log 000 log and Log 001 log我
  • 将 javascript 注入 SwiftUI WebKit

    如何将 SwiftUI WebKit 视图的文本大小设置为 State 变量 我有这段代码 允许我在 SwiftUI 中使用 WebViews import SwiftUI import WebKit struct WebView UIVi