在Text视图的许多属性中,我找不到任何与文本对齐相关的属性。我在一个演示中看到它自动处理RTL,当使用View的主体放置东西时,它总是自动居中。

是否有一些概念,我错过了关于SwiftUI布局系统,如果没有,我怎么能设置文本对齐属性的文本?


当前回答

不确定这是否是你想要的答案,但我有经验,SwiftUI自动切换到RTL的语言,如阿拉伯语,你不需要像UIKit中那样显式地指定。

其他回答

你可以通过修饰符. multilinetextalignment (.center)来做到这一点。

Text("CENTER")
    .multilineTextAlignment(.center)

苹果公司的文档

您可以将Vertical stackView的对齐方式设置为前导。像下面的

 VStack(alignment: .leading) {
            Text("Turtle Rock")
                .font(.title)
            Text("Joshua Tree National Park")
                .font(.subheadline)
        }

我实际上遇到了一个问题,我必须在单行上对齐文本。我发现有效的方法是:

Text("some text")
    .frame(alignment: .leading)

如果你把它和帧宽参数结合起来,你可以得到一些漂亮的文本块格式的标签等。

不确定这是否是你想要的答案,但我有经验,SwiftUI自动切换到RTL的语言,如阿拉伯语,你不需要像UIKit中那样显式地指定。

我想使用Spacer()视图来对齐文本块。 这个例子显示了文本在尾部:

HStack{
    Spacer()
    Text("Wishlist")
}