2016-03-30 22 views
-3

UITextView numaralı telefondaki arka plandaki klavyede hangi karakterin kaldırıldığını tespit etmek istiyorum.UItextView ve arka plandaki klavyede tıklama olayı

Eğer herhangi biri çözüm biliyorsa lütfen yardım edin. Şimdiden teşekkürler.

+0

i çözümü arıyorum ancak herhangi bulamadık böylece varsa herhangi lütfen yardım .. ben sadece klavyenin geri uzay çıkarılır hangi karakter algılamak istiyorum anlamadı –

cevap

1

Eğer

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

protokol UITextViewDelegate yöntemini uygulamak ve sadece aralık bu bir günlük var deneyin metni almalısınız

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


     NSLog(@"deleting this string: |%@|", [textView.text substringWithRange:range]); 


    return YES; 
} 
(bunun bir yedek ama yeni bir giriş değil durumunda boş)

ps

senin UITextView ait yetki vererek sınıfını ayarlamayı unutmayın

+0

üzgünüm ... 'Text' dönüşü yeni yedek char sağ karakter silinmedi .. –

+0

tamam, üzgünüm ... cevabımı değiştirdim ... – meronix

+0

hey bu harika adam benim için çalıştı yardımınız için teşekkürler .. –

-1

İşte istediğin bu. Bu yöntem, bir karakter kaldırıldığında algılar ve konsola yazdırır.

@interface ViewController()<UITextFieldDelegate> 
{ 
    UITextField *textField; 
    NSString *currentText; 
} 
@end 

@implementation ViewController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 

    textField = [[UITextField alloc] initWithFrame:CGRectMake(20, 50, self.view.frame.size.width-40, 30)]; 
    [textField addTarget:self action:@selector(textChanged:) forControlEvents:UIControlEventEditingChanged]; 
    textField.delegate = self; 
    textField.borderStyle = UITextBorderStyleRoundedRect; 
    [self.view addSubview:textField]; 
} 

-(void)textChanged:(UITextField *)sender{ 

    if (!currentText) { 
     currentText = sender.text; 
    } 

    if (![currentText isEqualToString:sender.text]) { 

     //The text that is in the textField at the moment is shorter than it was the last time the textfield was editted... This shows that a backspace was pressed 
     if (currentText.length > sender.text.length) { 


      NSLog(@"Character: %@", [currentText substringFromIndex:sender.text.length]); 

     } 



    } 

    currentText = sender.text; 


} 


@end 
İlgili konular