2013-08-22 3 views
1

Я создаю приложение iOS для iPhone и iPad, а некоторые из моих экранов имеют UITextFields. Я хочу, чтобы клавиатура была отклонена, когда пользователь щелкает текстовое поле. Для этого я написал следующий код:Dismiss iPad Keyboard

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
    [firstName resignFirstResponder]; 
    [lastName resignFirstResponder]; 
    [email resignFirstResponder]; 
    [password resignFirstResponder]; 
    [retypePassword resignFirstResponder]; 
} 

Это отлично работает для iPhone, но она не работает для клавиатуры на IPad. Я искал в сети, и все суждения не работают. Основное предложение:

- (BOOL)disablesAutomaticKeyboardDismissal { 
     return NO; 
} 

Но это все еще не работает? Любая помощь была бы оценена.

+0

Как выглядит ваш контроллер? Если он представлен формально как лист формы, тогда iOS иногда не позволит вам отклонять клавиатуру, когда лист формы перемещается, когда это происходит. Это просто способствует более приятному поведению. –

+0

Вы уверены, что переменные связаны с iPad-видами в IB (в случае, если вы используете его)? – Daniel

+0

@GeorgeGreen - Да, я представляю его с помощью формы. Спасибо за объяснение. Есть ли способ обойти это? Не могу понять, почему он работает на iPhone, но не iPad. –

ответ

-1
Add this method to .h file, 
-(IBAction)fn_resign:(id)sender; 


Inherit your XIB to UIControl and just add following method to the view. 

And in file's owner assign this method to view. 

in .m: 
-(IBAction)fn_resign:(id)sender{ 
    //Hide you keyboard. 
} 
Смежные вопросы