如何检测该用户正在键入消息?

时间:2015-11-04 13:25:04

标签: ios swift algorithm xmpp logic

例如,在用户撰写邮件时的聊天应用中,应用会显示typing图标,但如果用户停止撰写邮件的中间,则应用会消失{{ 1}}图标。

应用程序如何检测用户在撰写或仍在键入时停止输入?

例如:

hel (显示输入图标)

停止输入(隐藏输入图标)

lo (继续输入 - 再次显示)

2 个答案:

答案 0 :(得分:2)

首先,您需要检测用户何时开始输入。您可以addTarget UITextFieldtextField.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{
 }