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

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


当前回答

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

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

苹果公司的文档

其他回答

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

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

苹果公司的文档

从SwiftUI beta 3开始,你可以用框架修饰符居中文本视图:

Text("Centered")
    .frame(maxWidth: .infinity, alignment: .center)

我也有同样的问题。 我用这个来解决问题。

Text("Test")
.frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .leading)

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

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

你可以使用SwiftUI的这个属性

multilineTextAlignment

TextAlignment。

VStack { 
    Text("Your Text")
      .multilineTextAlignment(.center)
}