2009-09-24 7 views
0

У меня есть UIViewController с 4 UITextFields, 3 из них используют NumberPad, а 1 использует ASCII-клавиатуру. Я не могу заставить клавиатуру ASCII отклоняться, когда пользователь прикасается к фоновой кнопке вне текстового поля. Кнопка «Фон» отлично работает, чтобы отклонить NumberPads, но не отменяет клавиатуру ASCII.resignFirstResponder не отклоняет ASCII-клавиатуру для UITextField

Да, у ASCII-клавиатуры есть кнопка «Готово», и это работает (у меня есть набор делегатов в IB и реализовано textFieldShouldReturn), но я хочу, чтобы все поля были убраны, коснувшись области фона, так что они ведут себя последовательно (как можно больше).

Вызывается метод действия кнопки фона (ниже) и вызывает вызов resignFirstResponder для всех объектов текстового поля, но вызов текстового поля с помощью ASCII-клавиатуры не отменяет клавиатуру, а другой вызывает числовые текстовые поля отмените их номера.

-(IBAction)backgroundClick:(id)sender 
{ 
    // resignFirstResponder makes the keyboard go away when the 
    // user clicks outside of one of the text fields 
    [textField resignFirstResponder]; 
    [num1Field resignFirstResponder]; 
    [num2Field resignFirstResponder]; 
    [num3Field resignFirstResponder]; 
    [num4Field resignFirstResponder]; 
} 

Что мне здесь не хватает?

+0

Я добавил еще одну строку в начале указанной функции: BOOL isIt = [textField isFirstResponder]; Пока клавиатура была активной, я коснулся области фона и имел точку останова сразу после этого вызова, isIt NO. Я не уверен, почему, но я думаю, именно поэтому отставка не работает. – progrmr

ответ

1

Обнаружили проблему. Выходная ссылка TextField не была связана с владельцем файла в IB.

Я думал, что проверил соединения, но, очевидно, пропустил это.