我創建了一個UITextView
它允許動態標記時,用戶鍵入@
。UITextView檢測字符刪除
是否可以檢測到@
已刪除,以便停止我創建的特定標記過程?如果是這樣,我該怎麼做? UITextView
沒有這樣的委託方法。
我創建了一個UITextView
它允許動態標記時,用戶鍵入@
。UITextView檢測字符刪除
是否可以檢測到@
已刪除,以便停止我創建的特定標記過程?如果是這樣,我該怎麼做? UITextView
沒有這樣的委託方法。
我會用
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
然後創建在其中存儲的最後一個字符添加到UITextView
的NSString
。在上面的方法中,添加下面的代碼片段。
if ([text isEqualToString:@""] && [lastRecordedString [email protected]"@"]) {
//do whatever you want to do when an @ is deleted
}
lastRecordedString = [textView.text substringFromIndex:[string length]-1];
編輯:請參閱上面編輯的代碼。現在lastRecordedString
是除去字符後UITextView
中的最後一個字符。這應該工作。
你可以將使用被替換原文:
NSString *originalText = [textView.text substringWithRange:range];
在
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
方法。
然後,做
if ([originalText rangeOfString:@"tag"].length > 0) {
NSLog(@"delete tag string");
}
如果用戶刪除某個特定的字符串你會發現。
希望有幫助!
你能否詳細闡述'動態標記'。你怎麼實現這個? – KDaker