在 SwiftUI 中获取文本的宽度
Get width of Text in SwiftUI
如何获取 Text
组件的 width
?
我想让 Text
下方的 Button
与 Text
本身的宽度相同。
VStack(alignment: .center, spacing: 20) {
Text("Finde heraus, was gerade in der Welt los ist.")
.font(.largeTitle).bold().lineLimit(3).multilineTextAlignment(.leading)
Button(action: {
}, label: {
Text("Account erstellen").bold()
.frame(minWidth: 0, maxWidth: .infinity)
.frame(height: 40).padding(.top, 0)
.background(Color.blue)
.foregroundColor(.white)
.cornerRadius(20)
})
}.padding([.leading, .trailing], 25)
这是给了我这个结果,在我看来它非常丑陋:
在 iPad 上,文本和按钮之间的宽度更大
我该如何解决这个问题。
提前致谢。
bold()
属性似乎有错误。删除它会使文本按照您的预期对齐。您可以尝试提交错误,或等待它结束,看看它是否在测试期间得到修复。
Text("Finde heraus, was gerade in der Welt los ist.")
.font(.largeTitle)
.lineLimit(3)
.multilineTextAlignment(.leading)
如何获取 Text
组件的 width
?
我想让 Text
下方的 Button
与 Text
本身的宽度相同。
VStack(alignment: .center, spacing: 20) {
Text("Finde heraus, was gerade in der Welt los ist.")
.font(.largeTitle).bold().lineLimit(3).multilineTextAlignment(.leading)
Button(action: {
}, label: {
Text("Account erstellen").bold()
.frame(minWidth: 0, maxWidth: .infinity)
.frame(height: 40).padding(.top, 0)
.background(Color.blue)
.foregroundColor(.white)
.cornerRadius(20)
})
}.padding([.leading, .trailing], 25)
这是给了我这个结果,在我看来它非常丑陋:
在 iPad 上,文本和按钮之间的宽度更大
我该如何解决这个问题。
提前致谢。
bold()
属性似乎有错误。删除它会使文本按照您的预期对齐。您可以尝试提交错误,或等待它结束,看看它是否在测试期间得到修复。
Text("Finde heraus, was gerade in der Welt los ist.")
.font(.largeTitle)
.lineLimit(3)
.multilineTextAlignment(.leading)