iOS:全局检测键盘输入
如果我的应用程序在一定时间内未被使用,我想注销我的用户。对于触摸交互,我可以覆盖UIWindow上的sendEvent。但对于键盘输入,它不起作用iOS:全局检测键盘输入,ios,swift,Ios,Swift,如果我的应用程序在一定时间内未被使用,我想注销我的用户。对于触摸交互,我可以覆盖UIWindow上的sendEvent。但对于键盘输入,它不起作用 当用户使用键盘时,是否可以接收事件?(我不想将UITextField等子类化,因为我的应用程序中也有webview)。也许断开用户连接的更好方法是使用func应用程序willresignactive(application:UIApplication)或func应用程序identinterbackground(application:UIApplic
当用户使用键盘时,是否可以接收事件?(我不想将UITextField等子类化,因为我的应用程序中也有webview)。也许断开用户连接的更好方法是使用
func应用程序willresignactive(application:UIApplication)
或func应用程序identinterbackground(application:UIApplication)
为了防止用户与键盘交互,您可以通过以下函数实现
UITextFieldDelegate
,该函数允许您知道用户上次键入字符的时间:func textField(utextfield:UITextField,shouldChangeCharacters范围:NSRange,replacementString:string)->Bool
您可以覆盖UIWindow
的hitTest-它还处理系统键盘触摸:
extension UIWindow {
override open func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
print("touched!")
return super.hitTest(point, with: event)
}
}
你可以考虑一个单独的观察员键盘显示和隐藏通知。