如何在用户点击按钮时清除输入的文本字段?

时间:2018-06-01 10:09:55

标签: ios objective-c swift3 uitextfield

我正在处理注册表单,在用户点击按钮后填写多个文本字段时,文本字段应该清除。

3 个答案:

答案 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 = @"";
    }
 }