有没有办法在swift 4中检测光标闪烁?
实际上,我想在用户完成编辑后调用特定功能,而不是在编辑时调用。我使用了函数textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {}
,func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {}
和所有相关的功能。当用户键入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
}