是否可以将TextField绑定到SwiftUI中的其他TextField,其中活动TextField中的值用于更新非活动TextField的值?
在下面的代码中,我想将10的值输入到TextField X中,并让TextField Y自动显示数字13,即10 +3。或者,我想在TextField Y中输入18和9。将显示在以18/2计算得出的TextField X中。
struct ContentView: View {
@State private var x = 0.0
@State private var y = 0.0
private var numberFormatter: NumberFormatter {
let numFormatter = NumberFormatter()
numFormatter.usesSignificantDigits = true
return numFormatter
}
var body: some View {
VStack(spacing: 20) {
HStack {
TextField("Enter X", value: $x, formatter: numberFormatter)
.frame(width: 120)
Text("X where X = Y / 2")
.frame(alignment: .leading)
}
HStack {
TextField("Enter Y", value: $y, formatter: numberFormatter)
.frame(width: 120)
Text("Y where Y = X + 3")
.frame(alignment: .leading)
}
}
.padding()
.frame(width: 400)
}
}
答案 0 :(得分:0)
下面的代码可以满足您的要求,但是请注意,x和y仅在用户敲击键盘的返回按钮后自动更新,而不是自动。
TextField("Enter X", value: $x, formatter: numberFormatter, onEditingChanged: { _ in
self.y = self.x + 3
})
TextField("Enter Y", value: $y, formatter: numberFormatter, onEditingChanged: { _ in
self.x = self.y / 2
})