SwiftUI布局优化:实现指定元素水平居中与文本对齐需求
解决方案
你可以通过调整HStack的对齐方式,同时保留VStack的左对齐设置来实现需求:
struct ContentView: View { var body: some View { HStack(alignment: .center) { Image(systemName: "speedometer") VStack(alignment: .leading, spacing: 6) { Text("Hello") ProgressView(value: 50, total: 100) .progressViewStyle(.linear) } Text("75") .font(.title) Image(systemName: "chevron.forward") } .padding() } }
修改说明:
- 将HStack的
alignment从.lastTextBaseline改为.center,让速度表图标、ProgressView、“75”文本、Chevron图标在垂直方向上居中对齐。 - 保留VStack的
.leading对齐,确保“Hello”文本始终在ProgressView的上方左对齐。 - 给“75”添加
.font(.title)是为了匹配期望效果中的视觉层级,可根据需求调整。
内容的提问来源于stack exchange,提问作者travis
相关产品推荐
相关产品推荐

