SwiftUI - 标签未向左对齐

Nic*_*lli 1 label swiftui vstack

我在 SwiftUI 中有一个非常基本的视图,其中有一个标签,我正在努力让它向左对齐。这就是它的本质:

VStack(alignment: .leading) {
  Label("Hi", ...)
}
.frame(maxWidth: .infinity)
Run Code Online (Sandbox Code Playgroud)

无论我尝试什么,标签都会保留在视图的中心。我怎样才能解决这个问题?

Sco*_*man 9

alignment初始化程序中的参数确定VStack其子视图将与堆栈的前缘对齐。

您缺少的是修改器alignment中的一个参数frame,它告诉布局系统内容应如何在扩展框架中定位自身。

VStack(alignment :.leading) { // alignment of the two labels
  Label("Hi", ...)
  Label("Second line", ...)
}
.frame(maxWidth: .infinity, alignment: .leading) // alignment of the whole stack in the larger frame
Run Code Online (Sandbox Code Playgroud)