gpt4 book ai didi

SwiftUI 框架大小

转载 作者:行者123 更新时间:2023-12-04 15:49:55 28 4
gpt4 key购买 nike

你如何在 UIViewRepresentable 中获取帧大小?

我有一个简单的 DrawView 类可以绘制一些东西,我想与 SwiftUI 集成。如果我将帧大小硬编码为 640x480,则此代码有效,但是否有可能知道 ContentView 的当前帧大小?

struct ContentView: View {
var body: some View {
SwiftDrawView()
}
}

struct SwiftDrawView: UIViewRepresentable {
func makeUIView(context: Context) -> DrawView {
DrawView(frame:CGRect(x: 0, y: 0, width: 640, height: 480))
}
....
}

Apple 教程总是使用 .zero 并且在这种情况下不起作用。

最佳答案

struct ContentView: View {
var body: some View {
GeometryReader { proxy in
SwiftDrawView(frame: proxy.frame(in: .local))
}
}
}

struct SwiftDrawView: UIViewRepresentable {
let frame: CGRect

func makeUIView(context: Context) -> DrawView {
DrawView(frame:frame)
}
....
}

关于SwiftUI 框架大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56625298/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com