【发布时间】:2020-11-24 21:26:59
【问题描述】:
我有一个具有动态领先项目的 NaivgationView。也就是说,当用户点击按钮时,其文本会更新。所以它并不总是一样的。
此代码与我的项目具有相似的功能。
struct ContentView: View {
@State var selectedDay: String = "Wednesday"
let days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
var body: some View {
NavigationView {
VStack {
List {
ForEach(0..<days.count) {day in
Button(action: {
self.selectedDay = days[day]
}, label: {
Text(days[day])
})
}
}
}
.navigationBarItems(leading: Text($selectedDay.wrappedValue))
}
}
}
我希望文本始终保持左对齐。但是,如果文本的字母少于第一个,则它不在左侧。例如在上面的代码中,Wednesday 在最左边,但 friday 不在。领先的一方有 16 分。那么如何左对齐文本呢?
我也用过这段代码,但还是有同样的问题。
VStack(alignment: .leading) {
Text($selectedDay.wrappedValue)
}
【问题讨论】: