Swift-UITextField-手势识别器延迟

Swift-UITextField-手势识别器延迟,swift,uigesturerecognizer,delay,textfield,Swift,Uigesturerecognizer,Delay,Textfield,我使用的是UITextField,我想在用户点击textfield时触发一个函数,但我想在触发该函数之前等待1/4秒 如何才能做到这一点?首先,您必须创建iAction,例如:changeTextField(参见屏幕截图) 第二,添加此代码 @IBAction func changeTextField(sender: AnyObject) { NSObject.cancelPreviousPerformRequestsWithTarget(self, selector: #select

我使用的是UITextField,我想在用户点击textfield时触发一个函数,但我想在触发该函数之前等待1/4秒


如何才能做到这一点?

首先,您必须创建iAction,例如:changeTextField(参见屏幕截图)

第二,添加此代码

@IBAction func changeTextField(sender: AnyObject) {
    NSObject.cancelPreviousPerformRequestsWithTarget(self, selector: #selector(ViewController.functionWithDelay), object: nil)
    self.performSelector(#selector(ViewController.functionWithDelay),
                         withObject: nil,
                         afterDelay: 1/4);
}
第三,你的职能

func functionWithDelay() {
    print("running...")
}

首先,您必须创建iAction,例如:changeTextField(参见屏幕截图)

第二,添加此代码

@IBAction func changeTextField(sender: AnyObject) {
    NSObject.cancelPreviousPerformRequestsWithTarget(self, selector: #selector(ViewController.functionWithDelay), object: nil)
    self.performSelector(#selector(ViewController.functionWithDelay),
                         withObject: nil,
                         afterDelay: 1/4);
}
第三,你的职能

func functionWithDelay() {
    print("running...")
}

你可以使用performSelector(“targetMethod”,with object:nil,afterDelay:4.0)方法。你可以使用performSelector(“targetMethod”,with object:nil,afterDelay:4.0)方法。它不是我想要的。每次我按键盘时都会调用“functionWithDelay”。我希望仅当我点击的时间不超过1/4秒时调用该函数代码更新:我添加了对cancelPreviousPerformRequestsWithTarget的调用,如果在1/4秒之前点击键盘,则该函数无法正常工作。每次我按键盘时都会调用“functionWithDelay”。我希望仅当我敲击时间不超过1/4秒时调用该函数代码更新:如果在1/4秒之前敲击键盘,我已添加对cancelPreviousPerformRequestsWithTarget的调用