我目前正在爲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。現在鍵盤正常消失。
你有。您的代碼中存在錯誤。 –