我对SwiftUI很陌生,第一次学习它,并且不明白为什么下面的代码段不起作用。理想情况下,VStack应该在所有方向上拉伸,并且Image应该有 200px 的宽度,而不会丢失其纵横比。
代码
struct ContentView: View {
var body: some View {
VStack() {
Image("Image Name")
.resizable()
.frame(width: 200)
.aspectRatio(contentMode: .fit)
}
.background(Color.red)
.frame(maxWidth: .infinity,maxHeight: .infinity)
}
}
在我不小心重新排序了修饰符之后,它起作用了。那么,如果没有每次命中和试用方法,我应该如何知道修饰符的正确顺序呢?
// new VStack modifier order
.frame(maxWidth: .infinity, maxHeight: .infinity)
.background(Color.red)
// new Image modifier order
.resizable()
.aspectRatio(contentMode: .fit)
.frame(width: 200)