如何在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))
}
....
}
苹果官方教程经常使用.zero,但在这种情况下无效。
makeUIView
返回一个.zero
帧,并尝试在UIViewRepresentable
的updateUIView
方法中触发绘制。 - Matteo Pacini