按下按钮(动作)3秒后清除urtext字段中的数据

时间:2016-04-18 13:22:35

标签: ios swift uitextfield

我有4个UITextField用于输入每个文本字段中的数字。我有一个button action。因此,当我在3秒后按下我的按钮时,我的所有UITextField字段中的所有数据都应自动清除。

我知道:textfield1.text = ""

但我不知道如何使用delay并在我的UITextField字段中清除我的数据。请帮帮我。我正在使用swift 2.2

由于

4 个答案:

答案 0 :(得分:3)

您可以在3秒后设置NSTimer计划,并在清除文本的操作中设置。

答案 1 :(得分:3)

let delayTime = dispatch_time(DISPATCH_TIME_NOW, Int64(3 * Double(NSEC_PER_SEC)))
dispatch_after(delayTime, dispatch_get_main_queue()) {
    textfield1.text = ""
}

答案 2 :(得分:1)

第1步:

@interface ViewController ()<UITextFieldDelegate>

    @property (strong, nonatomic) NSTimer *timer;

@end

第2步:按钮点击操作

if (self.timer) {
    [self.timer invalidate];
    self.timer = nil;

}
_timer = [NSTimer scheduledTimerWithTimeInterval:3 target:self selector:@selector(clearTextField:) userInfo:nil repeats:NO];

第3步:

- (void) clearTextField :(NSTimer *) timer {

    // Clear textfield
    [self.timer invalidate];
    self.timer = nil;
}

答案 3 :(得分:1)

你有很多选择:

1)

let delayTime = dispatch_time(DISPATCH_TIME_NOW, Int64(3 * Double(NSEC_PER_SEC)))
dispatch_after(delayTime, dispatch_get_main_queue()) {
    textfield1.text = ""
}

2)NSTimer

3)performSelector:withObject:afterDelay: