iOS键盘没有被解雇

时间:2014-01-17 18:40:54

标签: ios uitextfield resignfirstresponder

我有3个文字字段。

前两个允许使用标准键盘输入,最后一个文本字段会显示一个选择器。

我在解开键盘方面遇到了问题 - 所以当点击3文本字段时,会出现选择器,但是前一个文本字段的键盘仍然在屏幕上。

我的每个文本字段都有一个标记,我正在使用以下代码:

-(void)textFieldDidBeginEditing:(UITextField *)textField { //Keyboard becomes visible

    if (textField.tag == 1) {
        [_textField2 resignFirstResponder];
        _myPicker.hidden = true;
    }

    if (textField.tag == 2) {
        [_textField1 resignFirstResponder];
        _myPicker.hidden = true;
    }

    if (textField.tag == 3) {
        [_textField1 resignFirstResponder];
        [_textField1 resignFirstResponder];
    }

}

有关如何解决此问题的任何想法?

2 个答案:

答案 0 :(得分:0)

确保将textfield的委托设置为此代码所在的类。

这可以在Interface Builder中完成,也可以使用:

[_textField1 setDelegate:self];
[_textField2 setDelegate:self]; 

在viewDidLoad

还要确保该类符合UITextFieldDelegate协议

答案 1 :(得分:-1)

您必须为文本字段设置委托。您必须使用<UITextFieldDelegate>self._textField1.delegate = self;