UITextView Detectar carácter eliminado

UITextView una UITextView que permite el labeldo dynamic cuando el usuario escribe @ .

¿Es posible detectar un @ eliminado, para detener mi process de labeldo específico que creé? Si es así, ¿cómo puedo hacer eso? UITextView no tiene tales methods de delegado.

yo usaría

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text

Luego cree un NSString en el que almacene el último carácter agregado a UITextView . Dentro del método anterior, agregue el siguiente fragment.

 if ([text isEqualToString:@""] && [lastRecordedString isEqualToString@"@"]) { //do whatever you want to do when an @ is deleted } lastRecordedString = [textView.text substringFromIndex:[string length]-1]; 

EDITAR: vea el código editado arriba. Ahora lastRecordedString es el último carácter en UITextView después de UITextView un carácter. Esto debería funcionar.

Puede get el text original que será reemplazado por el uso:

 NSString *originalText = [textView.text substringWithRange:range]; 

en tus

 - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text 

método.

Entonces hazlo

 if ([originalText rangeOfString:@"tag"].length > 0) { NSLog(@"delete tag string"); } 

Detectará si el usuario elimina una cadena específica.

¡Espero que sea útil!