2015-09-01 4 views
1

У меня есть простое решение.Как получить событие delete (backspace) из UITextView?

-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{ 
    if(range.length == 1 && [text length] == 0){ 
     NSLog(@"backspace"); 
    } 
} 

Однако, если пользователь удаляет перетаскиваемый текст?

Выше кода не будет получено событие.

Но, деталь детализации взгляда facebook не имеет эту проблему.

Как решить эту проблему?

+0

http://stackoverflow.com/questions/25371254/how-to-detect-delete-key-on-an-uitextfield-in-ios-8 – SwiftArchitect

ответ

0

Попробуйте

if (range.length > 0 && [string isEqualToString:@""]) { 
     NSLog(@"Backspace");    
    } 
+0

Этот код не get, если текст удален "abcd \ nefg". Поскольку метод делегирования textview должен содержать значение «shouldThangeTextInRange», возвращается только последний текст. – kkbpower

Смежные вопросы