有没有办法在 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()
})
}
我在 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()
})
}