在这篇post中已经回答了有关 Android Compose 的类似问题。我想知道 SwiftUI 是否也可以做同样的事情?
示例:
HStack {
VStack {
SomeMoreContentWithUnknownHeight()
}
.frame(width: geometry.size.width * 0.8)
Image("User")
.resizable()
.scaledToFit()
.frame(width: geometry.size.width * 0.2)
}
.frame(minHeight: 100)
HStack 的高度应该不固定,但如果它的子节点这样做的话,它应该增长。如果一个孩子比另一个高,它如何在不影响其高度的情况下填充父母的高度?
我有什么:
预期结果:
HStack
自动采用最高孩子的身高。
但是,您的问题似乎更关心
HStack
内的孩子的高度,并且您的代码示例在这个位置有一个图像。假设您实际上想要缩放图像以填充(而不是缩放以适合,这就是代码的实现方式),那么一种方法是在 HStack
上叠加显示图像:
.frame
上设置固定高度的 HStack
修改器。Image
内的 HStack
替换为 Spacer
。alignment: .trailing
应用叠加层。HStack {
VStack {
SomeMoreContentWithUnknownHeight()
}
.frame(width: geometry.size.width * 0.8)
Spacer()
}
.overlay(alignment: .trailing) {
Image("User")
.resizable()
.scaledToFill()
.frame(width: geometry.size.width * 0.2)
.clipped()
}