我正在SwiftUI中创建一个Widget,我发现我认为这是一个非常愚蠢的问题。
我有一个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)
}
}以及它的外观:

另外,如果我删除.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)
}下面是图片:

提前感谢
发布于 2021-03-24 06:50:27
V/Hstack({}).frame(maxWidth: .infinity, maxHeight: .infinity).background(
Image("yourImageName")
.resizable()
.scaledToFill()
)的图像
https://stackoverflow.com/questions/63136329
复制相似问题