Ios 如何使用SwiftUI获取文本宽度?
我想在标题下面画一个矩形,这个矩形应该与文本宽度相同 首先,我创建一个带下划线的文本,如下所示:Ios 如何使用SwiftUI获取文本宽度?,ios,xcode,swiftui,Ios,Xcode,Swiftui,我想在标题下面画一个矩形,这个矩形应该与文本宽度相同 首先,我创建一个带下划线的文本,如下所示: struct Title: View { var body: some View { VStack { Text("Statistics") Rectangle() .foregroundColor(.red) .frame(height: (5.0)) }
struct Title: View {
var body: some View {
VStack {
Text("Statistics")
Rectangle()
.foregroundColor(.red)
.frame(height: (5.0))
}
}
}
因此,我得到以下结果:
现在我想得到这个结果:
因此,我想知道是否可以通过编写以下内容来绑定文本宽度并将其应用于矩形:
struct Title: View {
var body: some View {
VStack {
Text("Statistics")
Rectangle()
.foregroundColor(.red)
.frame(width: Text.width, height: (5.0))
}
}
}
通过这样做,我可以更改文本,它将以正确的宽度动态加下划线。
我尝试了很多选择,但我找不到怎么做。我也检查了,但似乎不是同一个问题。只需指定容器具有固定的大小,它将与内容紧密相连,如
var主体:一些视图{
VStack{
文本(“统计”)
矩形()
.foregroundColor(.red)
.框架(高度:(5.0))
}.fixedSize()//
var body: some View {
VStack {
Text("Statistics")
Rectangle()
.foregroundColor(.red)
.frame(height: (5.0))
}.fixedSize() // << here !!
}