这是查看代码:
struct ContentView: View {
var body: some View {
GeometryReader { geometry in
Color.blue
.frame(width: 50, height: 50)
}
}
}
在这种情况下,我对布局过程的理解如下:
GeometryReader
。GeometryReader
接受全部报价。GeometryReader
继续向下一个视图提供其完整尺寸,在这种情况下为_ModifiedContent<Color, _FrameLayout>
类型的帧修饰符。GeometryReader
的中心。Color.blue
提供其完整尺寸(50x50)。Color.blue
被动接受所提供的内容,因此也声明自己为50x50。因此,蓝色方块应仅为50x50。我知道 GeometryReader 占据了整个屏幕(我可以在其周围放置边框以进行验证),但是蓝色应该只填充包围它的框架,该框架的50x50位于GeometryReader
。我想念什么?也许这是一个错误。
答案 0 :(得分:0)
原来,答案是那是个错误。我更新到Xcode 11 Beta 5,它现在的行为符合我的预期。