在Text视图的许多属性中,我找不到任何与文本对齐相关的属性。我在一个演示中看到它自动处理RTL,当使用View的主体放置东西时,它总是自动居中。
是否有一些概念,我错过了关于SwiftUI布局系统,如果没有,我怎么能设置文本对齐属性的文本?
在Text视图的许多属性中,我找不到任何与文本对齐相关的属性。我在一个演示中看到它自动处理RTL,当使用View的主体放置东西时,它总是自动居中。
是否有一些概念,我错过了关于SwiftUI布局系统,如果没有,我怎么能设置文本对齐属性的文本?
当前回答
我实际上遇到了一个问题,我必须在单行上对齐文本。我发现有效的方法是:
Text("some text")
.frame(alignment: .leading)
如果你把它和帧宽参数结合起来,你可以得到一些漂亮的文本块格式的标签等。
其他回答
我们需要对齐文本,而不是它所在的堆栈。因此,调用multilineTextAlignment(.center)并设置行限制,我可以看到文本对齐到中心。我不知道为什么我必须设置行限制,我认为如果你有一个大的文本,它会扩展。
Text("blahblah")
.font(.headline)
.multilineTextAlignment(.center)
.lineLimit(50)
你可以使用SwiftUI的这个属性
multilineTextAlignment
TextAlignment。
VStack {
Text("Your Text")
.multilineTextAlignment(.center)
}
你可以通过修饰符. multilinetextalignment (.center)来做到这一点。
Text("CENTER")
.multilineTextAlignment(.center)
苹果公司的文档
我实际上遇到了一个问题,我必须在单行上对齐文本。我发现有效的方法是:
Text("some text")
.frame(alignment: .leading)
如果你把它和帧宽参数结合起来,你可以得到一些漂亮的文本块格式的标签等。
不确定这是否是你想要的答案,但我有经验,SwiftUI自动切换到RTL的语言,如阿拉伯语,你不需要像UIKit中那样显式地指定。