小编Mar*_*nte的帖子

如何触发 UIViewRepresentable 的 updateUIView?

我正在尝试将SpritzSwift中的 uiView 实现到 SwiftUI 应用程序中,但在第一次渲染后我无法更新它。驱动 UIView 的管理器正在工作,但 UIView 本身没有更新。我预计视图控制器内的 UiView.setNeedsDisplay() 或包装器内 @Bindable 变量的更改会触发 updateUIView,但不会触发。

无论我对 UiView 或其包装器进行什么更改,它都永远不会更新(例如,背景永远不会更新为代码示例中的清晰颜色)。如何更新此视图?

这是 SwiftUI 代码:

import SwiftUI
struct Content: View {

    @State public var ssManager:SpritzSwiftManager = SpritzSwiftManager(withText: "", andWordPerMinute: Int(200))
    @State public var ssView:SpritzSwiftView = SpritzSwiftView(frame: CGRect(x: 0, y: 0, width: 200, height: 600 ))
    @State private var currentWord = ""
    
    var body: some View {
        VStack {
            Text("SpritzTest")
                .padding()
            let spritzUIView = SpritzUIViewRepresentable(SpritzView: $ssView,SpritzViewManager:$ssManager, CurrentWord: $currentWord)
            spritzUIView.padding()
            Button(action:
                    {
                        ssManager  = SpritzSwiftManager(withText: "Text …
Run Code Online (Sandbox Code Playgroud)

swift swiftui

15
推荐指数
1
解决办法
1万
查看次数

标签 统计

swift ×1

swiftui ×1