gpt4 book ai didi

ios - SwiftUI:如何动态设置自定义 View 大小

转载 作者:行者123 更新时间:2023-11-28 23:21:11 28 4
gpt4 key购买 nike

我使用 SwiftUI。我需要一个自定义 View 。自定义 View 宽度应等于父 View 宽度。自定义 View 包含两个 ImageView ,分别左对齐和右对齐。每个 ImageView 具有相同的宽度和高度(纵横比 = 1)。两个 ImageView 有 10 个点空间。我将在 ImageView 中显示不同大小的图像(缩放纵横比填充)。

enter image description here

如果我使用GeometryReader,我可以动态设置 ImageView 框架,但是如何动态设置GeometryReader框架呢?如果我在没有 GeometryReader 的情况下使用 HStack,则 ImageView 帧是可变的。如何在 SwiftUI 中执行此操作?

最佳答案

可能是以下的一些变体:

struct CustomView: View {
var body: some View {
HStack(spacing: 10) {
Image(systemName: "heart.fill")
.resizable()
.aspectRatio(1, contentMode: .fit)

Image(systemName: "heart.fill")
.resizable()
.aspectRatio(1, contentMode: .fit)
}.frame(maxWidth: .infinity)
}
}

两张图片都保持 1:1 的纵横比,它们之间有 10 个点的间距,但允许使用 .frame 修饰符水平增长。

根据需要将 Image(systemName: "heart.fill") 替换为所需的图像源。

如果您的源图像 Assets 没有 1:1 的宽高比,请将 contentMode 设置为 .fill,并限制 的帧高度HStack 或其父级内部的 CustomView 使用 .frame(height: ..)

关于ios - SwiftUI:如何动态设置自定义 View 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59634077/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com