【问题标题】:How to add a SwiftUI object in UIkit如何在 UIkit 中添加 SwiftUI 对象
【发布时间】:2021-12-21 14:21:37
【问题描述】:

我已经使用 Hosting View Controller 来连接我的 swiftui 类以在情节提要 (UIkit) 中使用 SwiftUI,但问题是我不想在另一个页面中使用它我想将 SwiftUI 变量(图形)添加到同一个页面我用 UIkit 创建的页面。如何通过 SwiftUI 在 UIkit 中添加一些东西,是否有类似容器托管视图的东西? Container View 可以帮助您在 View 中添加视图,但您不能像编辑 Hosting View Controller 那样编辑它。请帮我一把。 我在下图中展示了我想要 SwiftUI 的位置 ????

【问题讨论】:

  • 查找UIHostingControllerUIViewControlleraddChild

标签: swift xcode swiftui uikit storyboard


【解决方案1】:

如果你想在 SwiftUI 中使用 UIKit,你可以使用 UIViewControllerRepresentable(代表 UIKit 视图控制器的视图)。

如果你添加了 UiViewControllerRepresentable 协议。 你可以在 SwiftUI 中使用 UIViewController。

struct ViewControllerRepresentation: UIViewControllerRepresentable {
    
}

这是示例

final class RedLabel: UILabel {
    override func awakeFromNib() {
        super.awakeFromNib()
 
        textColor = .red
    }
}
 
struct RepresentableRedLabel: UIViewRepresentable {
    var text: String
 
    let redLabel = RedLabel()
 
    func makeUIView(context: Context) -> UILabel {
        redLabel
    }
 
    func updateUIView(_ uiView: UILabel, context: Context) {
        redLabel.text = text
    }
}
 

【讨论】:

    猜你喜欢
    • 2019-10-31
    • 1970-01-01
    • 2021-10-09
    • 2021-03-21
    • 1970-01-01
    • 2022-11-13
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多