SwiftUI中Button内文本换行后无法左对齐该如何解决
修改后可实现文本换行后依然左对齐的代码如下:
Button(action: { name = foodcombo.pair foodCombos = database.retrieveFilteredCombos(main: foodcombo.pair) maxTastes = database.maxTastes(main: foodcombo.pair) }) { HStack { Text(foodcombo.pair) .frame(width: geometry.size.width * 0.30, alignment: .leading) .font(.system(size: 14)) .multilineTextAlignment(.leading) // 控制多行文本统一左对齐 // 按需保留Spacer,需要右侧留白时打开注释即可 // Spacer() } .frame(maxWidth: .infinity, alignment: .leading) // 让HStack撑满按钮宽度,内容整体靠左 }
修改点说明
- 新增
multilineTextAlignment(.leading)属性:该属性专门控制Text内部多行文本的对齐规则,仅设置Text外层frame的alignment无法影响内部多行排版 - 给HStack新增
frame(maxWidth: .infinity, alignment: .leading)属性:默认HStack会根据子视图大小收缩,添加该属性后会撑满Button的所有可用宽度,保证内容整体靠左排列,不需要额外添加Spacer也能实现左对齐效果
问题效果参考:
内容的提问来源于stack exchange,提问作者alamodey
相关产品推荐
相关产品推荐

