É assim que meu VStack é definido aqui:
VStack(alignment: .leading, spacing: 1) {
Text("entry.titleAlert hajdfg dgfhds fghjds gfhjdsg fhjdsg2")
.frame(maxWidth: .infinity)
.multilineTextAlignment(.leading)
.font(.caption)
.padding(5)
.background(Color(uiColor: .alertNews))
Text("entry.contentAlert jhdsg fdhjsgf dhjsgf dhjsgf jdhsgf jdhsgf jdhsgf jdhsgf dhjsgf dhjsgf hdsgfh dghjf gsdhjgf dhjsgf dhjsgf dhjsg fjdhsg fjhdsgf jhdsgf jdhsgf dhjsgf jdhsgfhjdsg fhdsg fgdsjgfdhjs gfjdhsgf hs")
.frame(maxWidth: .infinity)
.multilineTextAlignment(.leading)
.font(.caption)
.opacity(0.7)
.lineLimit(5)
.padding(5)
.background(Color(uiColor: .alertNews))
Spacer()
}
.frame(maxWidth: .infinity, alignment: .leading)
e o efeito é o seguinte:
Por que não está alinhado à esquerda?
O alinhamento principal do VStack na função de inicialização serve para alinhar todas as subvisualizações e na
.frame
função é para alinhar com seu pai. O mesmo com dois TextViews aninhados dentro. Você está usando.frame
withalignment = .center
por padrão.Então, para fazer com que o texto entrelinhado fique alinhado à esquerda, basta: