我目前正在为iOS 7编程一个应用程序,但我最近遇到了一个有趣的错误。在我的一个UIViews中,我有3个普通的UITextFields和两个其他的UITextFields,当编辑开始时resignFirstResponder。他们展示了一个UIDatePicker和UIPickerView以及一个UIToolbar。我遇到的错误是当我输入前3个文本字段之一,然后继续单击无需单击UIControl(称为backgroundTapped :)即可结束编辑的文本字段,键盘不会消失。我添加了一个日志来查看文本字段是否使用“canResignFirstResponder”退出firstResponder状态,并且它返回“1”,但即使在更改视图之前键盘仍然不会消失,直到单击前3个文本中的一个字段并单击背景。UITextField键盘不会消失
这是我textFieldDidBeginEditing:我showRunTypePicker开始:方法:
textFieldDidBeginEditing:
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
[textField becomeFirstResponder];
if (textField.tag == 3005) {
//[textField resignFirstResponder];
//[self.view endEditing:YES];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.25];
[self showRunTypePicker:self];
[UIView commitAnimations];
}
}
showRunTypePicker:
- (IBAction)showRunTypePicker:(id)sender
{
BOOL canResign = [runTypeField canResignFirstResponder];
NSLog(@"canResign: %hhd", canResign);
[runTypeField endEditing:YES];
[runTypeField resignFirstResponder];
[[self view] endEditing:YES];
[pickerView endEditing:YES];
[pickerView setHidden:YES];
[toolbar setHidden:YES];
[distanceField endEditing:YES];
...
}
我似乎无法弄清楚的问题是什么。谁可以帮我这个事?
编辑:它现在工作。我将[self showRunTypePicker:self]设置为[self showRunTypePicker:textField]并将其移至textFieldShouldBeginEditing。现在键盘正常消失。
你有。您的代码中存在错误。 –