在SwiftUI中,可以通过使用@State
属性包装器和ForEach
循环来实现让用户选择视图中的TextFields
计数。
首先,我们需要创建一个@State
属性来存储用户选择的计数。例如:
@State private var textFieldCount = 1
然后,我们可以使用ForEach
循环来创建指定数量的TextFields
。在循环中,我们可以使用Range
来指定循环的范围,并将每个TextField
绑定到相应的索引。例如:
ForEach(0..<textFieldCount, id: \.self) { index in
TextField("TextField \(index + 1)", text: self.$textFields[index])
}
在上面的代码中,textFields
是一个存储用户输入的字符串数组,我们可以在@State
属性中定义它:
@State private var textFields = Array(repeating: "", count: textFieldCount)
接下来,我们可以添加一个按钮,让用户可以增加或减少TextFields
的数量。当用户点击增加按钮时,我们可以通过增加textFieldCount
的值来增加TextFields
的数量。当用户点击减少按钮时,我们可以通过减少textFieldCount
的值来减少TextFields
的数量。例如:
Button(action: {
self.textFieldCount += 1
}) {
Text("Add TextField")
}
Button(action: {
if self.textFieldCount > 1 {
self.textFieldCount -= 1
}
}) {
Text("Remove TextField")
}
通过上述步骤,用户可以在SwiftUI中选择视图中的TextFields
计数。每次用户增加或减少TextFields
的数量时,界面会自动更新以反映更改。
领取专属 10元无门槛券
手把手带您无忧上云