Я пытаюсь воссоздать часть приложения Twitter для iOS, чтобы изучить SwiftUI, и мне интересно, как динамически изменить ширину одного представления, чтобы оно стало шириной другого представления. В моем случае, чтобы подчеркивание было такой же ширины, как текстовое представление.
Я приложил скриншот, чтобы попытаться лучше объяснить, о чем я говорю. Спасибо за любую помощь, спасибо!
Также вот код, который у меня есть:
import SwiftUI
struct GridViewHeader : View {
@State var leftPadding: Length = 0.0
@State var underLineWidth: Length = 100
var body: some View {
return VStack {
HStack {
Text("Tweets")
.tapAction {
self.leftPadding = 0
}
Spacer()
Text("Tweets & Replies")
.tapAction {
self.leftPadding = 100
}
Spacer()
Text("Media")
.tapAction {
self.leftPadding = 200
}
Spacer()
Text("Likes")
}
.frame(height: 50)
.padding(.horizontal, 10)
HStack {
Rectangle()
.frame(width: self.underLineWidth, height: 2, alignment: .bottom)
.padding(.leading, leftPadding)
.animation(.basic())
Spacer()
}
}
}
}