例如,在用户撰写邮件时的聊天应用中,应用会显示typing
图标,但如果用户停止撰写邮件的中间,则应用会消失{{ 1}}图标。
应用程序如何检测用户在撰写或仍在键入时停止输入?
例如:
hel (显示输入图标)
停止输入(隐藏输入图标)
lo (继续输入 - 再次显示)
答案 0 :(得分:2)
首先,您需要检测用户何时开始输入。您可以addTarget
UITextField
个textField.addTarget(self, action: "textFieldDidChange:", forControlEvents: UIControlEvents.EditingChanged)
func textFieldDidChange(textField: UITextField) {
textTimer?.invalidate()
textTimer = NSTimer.scheduledTimerWithTimeInterval(0.5, target: self, selector: Selector("textFieldStopChanging:"), userInfo: nil, repeats: false)
print("Start typing")
}
func textFieldStopEditing(sender: NSTimer) {
print("Stop typing")
}
对象。当用户停止输入时,只需在该目标中设置一个计时器;
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name=""
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
答案 1 :(得分:0)
如果您使用UITextField,方法可能对您有帮助。
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
}
如果您使用的是UITextView,请尝试以下
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{
}