你好吗?
请考虑以下代码:
struct ContentView: View {
var body: some View {
NavigationView {
GeometryReader { geometry in
ZStack(alignment: .leading) {
ViewOne()
.frame(height: geometry.size.height / 2)
}
}
}
}
}
struct ViewOne: View {
init() {
print("View one init")
}
var body: some View {
VStack(alignment: .center) {
Text("This is View one")
.font(.system(size: 50))
}
}
}
我的问题很简单:为什么 ViewOne 在 GeometryReader 内构建了两次,而在 GeometryReader 之外只构建了一次?
首先,我认为需要创建一次视图,然后再考虑 GeometryReader 的大小,但是,如果您在 ViewOne 中有更复杂的内容,事情就会变得一团糟。
有任何想法吗??
感谢您花时间和帮助这个 SwiftUI 朋友!