我正在处理注册表单,在用户点击按钮后填写多个文本字段时,文本字段应该清除。
答案 0 :(得分:5)
如果您不想使用UITextField集合,可以使用此
@IBAction func buttontapped(_ sender: Any) {
self.view.subviews.forEach({ item in
if item.isKind(of: UITextField.self) {
let txtItem = item as! UITextField
txtItem.text = ""
}
})
}
@vacawama建议更新,
@IBAction func buttontapped(_ sender: Any) {
for case let txtItem as UITextField in self.view.subviews {
txtItem.text = ""
}
}
假设:所有文字字段都是self.view
的子视图。如果文本字段是其他customview
的子视图,则应使用customview
代替self.view
答案 1 :(得分:3)
<强>迅速强>
创建 IBOutletCollections 或将所有文本字段添加到一个数组,例如
@IBOutlet var storeAllTexts: [UITextField]!
按钮操作方法,请调用以下内容
storeAllTexts.forEach { $0.text = "" }
目标C
创建 IBOutletCollections
@property (nonatomic, strong) IBOutletCollection(UITextField) NSArray *storeAllTexts;
按钮操作
for (UITextField *getCurrentText in self.storeAllTexts) {
getCurrentText.text = @"";
}
示例您获得SO duplicate answer
答案 2 :(得分:0)
目标C
for (id view in [self.view subviews])
{
if ([view isKindOfClass:[UITextField class]])
{
UITextField *textField = (UITextField *)view;
textField.text = @"";
}
}