我怎么能检测到光标闪烁了多长时间 - ios - swift 4?

时间:2018-04-26 08:29:37

标签: ios swift

有没有办法在swift 4中检测光标闪烁?

实际上,我想在用户完成编辑后调用特定功能,而不是在编辑时调用。我使用了函数textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {}func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {}和所有相关的功能。当用户键入1个单词时会调用这些功能,但实际上,我想在输入他们想要的完整单词或字符后调用该函数。

1 个答案:

答案 0 :(得分:0)

shouldChangeCharactersInRange中设置计时器。当它触发时,您会知道您选择的超时值没有任何文本输入:

private var timer: Timer?

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
   self.timer?.invalidate()
   self.timer = Timer.scheduledTimer(withTimeInterval: 1, repeats: false) { _ in
       // this is called 1 second after the last entry in the textfield
   }
   return true
}