我正在 SwiftUI 中创建一个小部件,我发现我认为这是一个非常愚蠢的问题。
我有一个Image
我想用作背景的。我已将其纵横比设置为,.fill
但似乎没有这样做。
这是代码:
var body: some View {
ZStack {
Image(affirmation.customImageName ?? "c_0")
.edgesIgnoringSafeArea(.all)
.aspectRatio(contentMode: .fill)
.frame(width: 300, height: 300, alignment: .center)
.background(Color.green)
HStack {
VStack {
Text(affirmation.title)
.font(.title)
.multilineTextAlignment(.leading)
}
Spacer()
}
.padding(.leading, 5)
.padding(.top, 5)
}
}
另外,如果我 delete .frame(width: 300, height: 300, alignment: .center)
,图像将不会使用整个区域。
更新:
现在,由于@staticVoidMan 的回答,图像调整了大小,添加resizable()
就可以了。现在的问题是,Text
似乎也调整大小和填充比它的空间更多。
var body: some View {
ZStack {
Image(affirmation.customImageName ?? "c_0")
.resizable()
.aspectRatio(contentMode: .fill)
HStack {
Text(affirmation.title)
.font(.body)
.multilineTextAlignment(.leading)
.lineLimit(nil)
Spacer()
}
.padding(.leading, 5)
.padding(.top, 5)
}
这是图像:
提前致谢