小编Ire*_*Dev的帖子

在 UIViewRepresentable SwiftUI 中设置自定义 UIView 框架

我正在尝试使用 UIViewRepresentable 在 SwiftUI 中使用我的自定义 UIView 并且我希望我的 UIView 具有与我在 .frame() 中设置的相同的大小,以便我可以像这样使用它:

MyViewRepresentable()
.frame(width: 400, height: 250, alignment: .center)
Run Code Online (Sandbox Code Playgroud)

例如,我可以将框架设置为属性:

struct MyViewRepresentable: UIViewRepresentable {
    var frame: CGRect
    func makeUIView(context: Context) -> UIView {
        let myView = MyView(frame: frame)

        return view
    }
    func updateUIView(_ uiView: UIView, context: Context) {}
}
Run Code Online (Sandbox Code Playgroud)

用法:

struct ContentView: View {
    var body: some View {
        MyViewRepresentable(frame: CGRect(x: 0, y: 0, width: 400, height: 250))
            .frame(width: 400, height: 250, alignment: .center)
    }
}
Run Code Online (Sandbox Code Playgroud)

这不是一个解决方案,我想知道如何使它正确。

uikit swift swiftui uiviewrepresentable

4
推荐指数
1
解决办法
2442
查看次数

标签 统计

swift ×1

swiftui ×1

uikit ×1

uiviewrepresentable ×1