有没有办法在 VStack 中有两个图像,并调整图像大小和 scaledToFill?斯威夫特用户界面

Is there a way to have two images in a VStack and have the images resized and scaledToFill? SwiftUI

我在 VStack 中有两个图像,并且两个图像都可以调整大小。其中一张图片设置为用剪裁填充。

VStack(spacing: 8) {
    Image(uiImage: project.image!)
        .resizable()
        .aspectRatio(contentMode: .fill)
    ZStack {
        Image(uiImage: UIImage(named: "ic_add_project")!)
        Image(uiImage: UIImage(named: "corner_pages_72pt")!)
            .resizable()
    }
}

通过删除 .aspectRatio(contentMode: .fill),我几乎得到了我想要的结果,但顶部图像被拉伸和扭曲了。

如何将两张图像设置为彼此重叠且大小相同,并使图像缩放至填充以使其不会拉伸?我不能使用固定的帧大小,我希望在堆栈之间均匀分布图像。

这个有用吗?

VStack(spacing: 8) {
        Image(uiImage: image)
            .resizable()
            .scaledToFill()
        
        ZStack {
            Image(uiImage: image)
                .resizable()
                .scaledToFill()
            Image(uiImage: image)
                .resizable()
        }
    }

尝试将它们叠加成颜色。颜色填充可用 space,因此两种颜色填充 space 相同,叠加层中的图像应按指定大小调整,互不影响。

VStack(spacing: 8) {
    Color.clear.overlay(
       Image(uiImage: project.image!)
        .resizable()
        .aspectRatio(contentMode: .fill)
    )
    Color.clear.overlay(
      ZStack {
        Image(uiImage: UIImage(named: "ic_add_project")!)
        Image(uiImage: UIImage(named: "corner_pages_72pt")!)
            .resizable()
    })
}