2013-05-03 4 views
-2

Как удалить клавиатуру из представления в результате нажатия клавиши возврата, когда UITextField был создан программно.resignFirstResponder программно

Если UITextField был вызван в viewDidLoad, я знаю, как это сделать, но UITextField был создан в результате - (IBAction).

Я создал свой UITextField программно. Я знаю, что resignFirstResponder удаляет клавиатуру. У меня он настроен так, чтобы сделать это, когда экран будет записан на клавиатуру. Я также работаю над тем, где, если пользователь запускает IBAction с помощью UIButton, связанного с UITextField, клавиатура уходит. Я также хочу иметь возможность скрывать клавиатуру, когда пользователь выбирает возврат с клавиатуры.

+2

Что имеется со всеми поданными голосами на эти ответы? – Dancreek

ответ

0

Вы можете использовать это:

- (BOOL)textFieldShouldReturn:(UITextField *)textField { 
    [textField resignFirstResponder]; 
    return NO; 
} 

Вам нужно установить вашего текстового поля в delegate к self первый, хотя:

self.textField.delegate = self; 

Или, вы можете щелкнуть правой кнопкой мыши и перетащить из текстовое поле в IB до маленького оранжевого круга внизу.

IB

+0

Почему вы говорите «return NO?»? Он работает в любом случае. Просто хотел бы знать, что вы поставили NO для BOOL. – James

+0

@James Потому что у вас есть *, чтобы что-то вернуть, а НЕТ - это то, что вышло, когда я прокатил кубики. – Undo

1

Вы должны сделать себе UITextFieldDelegate и реализовать:

- (BOOL)textFieldShouldReturn:(UITextField *)textField { 
    [textField resignFirstResponder]; 
    return YES; 

} 

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

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