2015-12-18 6 views
-2

У меня есть оператор if/else в моем объектно-c-коде. Если/другое заявление работает так:if/else оператор не выполняется в UITextView делетете метод

-(void)textViewDidBeginEditing:(UITextView *)textView 
{ 
    if(textView==self.heardTextView) 
    { 
     NSString *string = textView.text; 
     if ([string rangeOfString:@"CLOSER"].location == NSNotFound)  
     { 
      NSLog(@"closest"); 
     } 
    } 
} 

Предпосылка если/другое заявление есть - если textview равно определенное слово какой-то код будет работать. Но этот код не работает.

Я поставил breakpoint на мой код и NSLOG и ничего.

+0

Вы имеете в виду, что весь метод не выполняется или что внутри оператора if не выполняется? Вы задали свой объект как делегат текстового вида? – Paulw11

+0

весь метод не выполняет – fafafa

+0

Что вы подразумеваете под этим, задавая объект как делегат текстового вида? – fafafa

ответ

0

проверить текстовое поле делегата, если не установить делегата, то это не называется ..

В вашем Viewcontroller.H

enter image description here

выберите ваш TextView дать делегат TextView.

enter image description here

+0

Я реализовал все, что вы сказали. Но все еще не работает – fafafa

+0

дайте мне свой идентификатор skype id –

0

Прежде всего, необходимо установить делегат зрения текста. Вы можете сделать это с помощью Interface Builder, но если вы предпочитаете использовать код, который вы можете сделать это в viewDidLoad методе контроллера представления:

myTextView.delegate = self; 

Теперь, когда вы хотите NSLog заявление будет выполнен? Сейчас похоже, что он будет запущен, только если вы наберете «CLOSER», а затем сделайте текстовое представление потерянным фокусом, а затем снова щелкните по нему.

Если вы хотите NSLog бежать как вы набираете, вы должны использовать:

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

А также будьте осторожны, вам нужно вычислить следующее значение строки в текстовом поле перед тестированием его содержания:

NSString *finalText = [textField.text stringByReplacingCharactersInRange:range withString:string]; 
0

Проверьте своих делегатов, вы не должны были делегировать ваш текст в качестве себя. Проверьте его еще раз. Или вы могли бы сделать с другим классом.