嗨,我是用swiftUI创建这个设计的,但是我不明白为什么Text()会给字符串值添加更多的填充,我只想让它像边距那样放在前面的尾部。
设计:

结果:

代码:
struct ProductDetailSwiftUIView: View {
var body: some View {
ZStack {
ScrollView {
VStack {
Rectangle()
.frame(height: 213)
.foregroundColor(Color.blue)
Text("Fresas Congeladas La Huerta 500g")
.foregroundColor(.black)
.font(Font.bodySemibold(22))
.multilineTextAlignment(.leading)
.frame(maxWidth: .infinity)
.background(Color.red)
.padding(.leading, 16)
.padding(.trailing, 16)
}
}.toolbar {
ToolbarItem(placement: .navigationBarTrailing) {
Button {
print("Hello world")
} label: {
Label("Back", image: "cartLine")
}.overlay(Badge(count: 1))
}
}
}
}
}发布于 2022-08-02 05:44:49
首先,文本以帧为中心对齐,因此
Text("Fresas Congeladas La Huerta 500g")
.foregroundColor(.black)
.font(Font.bodySemibold(22))
.multilineTextAlignment(.leading)
.frame(maxWidth: .infinity, alignment: .leading) // << fix 1 !!
.background(Color.red)
.padding(.leading, 16)
.padding(.trailing, 16)给予:

第二,SwiftUI文本不允许孤立词。有关详细信息,请参阅下一步https://stackoverflow.com/a/71698509/12299030
发布于 2022-08-02 05:45:02
从.frame(maxWidth: .infinity)中删除Text()以解决此问题。

https://stackoverflow.com/questions/73202394
复制相似问题