2013-08-22 111 views
1

我正在为iPhone和iPad创建一个iOS应用程序,我的一些屏幕上有一些UITextFields。当用户点击文本框时,我想让键盘解散。要做到这一点,我写了下面的代码:关闭iPad键盘

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

这适用于iPhone的罚款,但它不适用于iPad上的键盘。我在网上搜索和所有sugeestions不起作用。主要建议是:

- (BOOL)disablesAutomaticKeyboardDismissal { 
     return NO; 
} 

但是,这仍然行不通? 任何帮助将不胜感激。

+0

您的控制器如何显示?如果它以模态形式呈现为表单,那么当表单发生这种情况时,iOS有时不允许您解除键盘。它只是为了更好的行为。 –

+0

您是否确定变量与IB中的iPad视图相关联(如果您正在使用它)? – 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. 
}