VStack 前导对齐中的中心图像
Posted
技术标签:
【中文标题】VStack 前导对齐中的中心图像【英文标题】:Center Image in VStack leading alignment 【发布时间】:2021-01-18 06:52:34 【问题描述】:我无法找出正确的解决方案,将Image
居中在VStack
内,对齐为.leading
。我已经尝试并得到了这些结果,但有没有更有效的方法,而不是在 HStack
中添加两个 Spacer()
?
struct ContentView: View
var body: some View
ZStack
ScrollView
VStack (alignment: .leading, spacing: 10)
Text("Title ")
HStack
Spacer()
Image(systemName:"star.fill")
.resizable()
.frame(width: 20, height: 20, alignment: .center)
Spacer()
Divider()
.padding(.all)
【问题讨论】:
【参考方案1】:这里有一个解决方案。使用 Xcode 12.1 / ios 14.1 测试
ScrollView
VStack (alignment: .leading, spacing: 10)
Text("Title ")
Image(systemName:"star.fill")
.resizable()
.frame(width: 20, height: 20)
.frame(maxWidth: .infinity, alignment: .center)
Divider()
【讨论】:
看起来不错,谢谢@Asperi。添加两个frame
会皱眉吗?
这些是不同的修饰符(尽管两者都称为框架)并且每个都提供新的视图。这就像将一个视图嵌入到另一个具有不同边界的视图中。
好吧,这很有道理。谢谢!以上是关于VStack 前导对齐中的中心图像的主要内容,如果未能解决你的问题,请参考以下文章
Swift UI VStack 对齐。按下时使文本字段与键盘一起出现