2009-09-24 56 views
0

我有一个带有4个UITextField的UIViewController,其中3个使用NumberPad,1个使用ASCII键盘。当用户触摸文本字段外的背景按钮时,我无法解开ASCII键盘。背景按钮可以正常工作以关闭数字小键盘,但不会关闭ASCII键盘。resignFirstResponder不解除UITextField的ASCII键盘

是的,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 2009-09-25 05:25:19

回答

1

发现问题。文本字段的引用出口没有连接到IB的文件所有者。

我以为我检查了连接,但显然错过了这一点。

相关问题