2013-10-25 3 views
0

Я пытаюсь скрыть клавиатуру в приложении iOS. Я потратил несколько часов на это, и я пробовал почти все, поэтому я довольно отчаянный.Скрыть клавиатуру в iOS не работает

Мой код следует в следующем:

RNViewController.h

@interface RNViewController : UIViewController <UITextFieldDelegate> { 
    UITextField *textField; 
... 
} 

RNController.m

- (void)viewDidLoad { 
    textField.delegate = self; 
    textField.returnKeyType = UIReturnKeyDone; 
} 

- (BOOL)textFieldShouldReturn:(id)sender { 
    NSLog(@"Entering in textFieldShouldReturn "); 
    [textField resignFirstResponder]; 
    return YES; 
} 

- (BOOL)textViewShouldReturn:(id)sender { 
    NSLog(@"Entering in textViewShouldReturn "); 
    [textField resignFirstResponder]; 
    return YES; 
} 

- (IBAction)textFieldDoneEditing:(id)sender { 
     NSLog(@"Entering in textFieldDoneEditing "); 
     [sender resignFirstResponder]; 
} 

- (IBAction)textViewDoneEditing:(id)sender { 
    NSLog(@"Entering in textViewDoneEditing "); 
    [sender resignFirstResponder]; 
} 


- (BOOL)disablesAutomaticKeyboardDismissal { 
    return NO; 
} 

EDIT: текстовое поле создается динамически, как это:

- (void) showPreguntaTexto: (Pregunta *) pregunta { 
    UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(CGRectGetWidth(baseView.bounds)*0.1, offset + CGRectGetWidth(baseView.bounds)*0.05, CGRectGetWidth(baseView.bounds) - CGRectGetWidth(baseView.bounds) * 0.2 , CGRectGetWidth(baseView.bounds)*0.5)]; 

    textField.delegate = self; 

    [vistaAnterior addSubview:textField]; 
} 

Мои представления - baseView (с элементами, которые не меняются) и vistaAnterior, с содержимым (и текстовым полем) и изменениями.

Пробуя это, он показывает, что введен в текстFieldShouldReturn, но клавиатура не исчезает.

Почему это происходит ??? Пожалуйста помоги!!

ответ

1

Отказ отправителя текстового поля вместо вашего экземпляра. UITextField *textField не является IBOutlet (раскадровки) или создан в коде, поэтому textField - это nil (если вы не создали его где-то еще и не показывали код).

- (BOOL)textViewShouldReturn:(id)sender { 
    NSLog(@"Entering in textViewShouldReturn "); 
    [sender resignFirstResponder]; 
    return YES; 
} 
+0

Спасибо, человек, который сделал трюк! Soooo благодарен !! –

0

Вы установили делегат текстовых полей в свой RNViewController из доски. Это может быть причиной того, что клавиатура не скрывается.

+0

Я не использую раскадровку, я редактирую вопрос –

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

  • Нет связанных вопросов^_^