微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有一种方法可以在VStack中包含两个映像,并调整映像的大小和scaleDToFill? SwiftUI

如何解决有没有一种方法可以在VStack中包含两个映像,并调整映像的大小和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),我几乎得到了想要的结果,但是最上面的图像变得拉伸和变形了。

Stretch

如何将两个具有相同大小的图像设置在一个顶部,并且将图像缩放到ToFill,以便它不会拉伸?我无法使用固定的帧大小,希望将图像均匀分布在堆栈之间。

Broken

解决方法

尝试将它们置于颜色叠加中。颜色会填充可用空间,因此两种颜色会相等地填充空间,并且叠加层中的图像应按指定的大小进行设置,而不会互相影响。

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()
    })
}
,

这行吗?

len(C)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。