현재 iOS 7 용 프로그램을 프로그래밍하고 있습니다.하지만 최근에 흥미로운 오류가 발생했습니다. 내 UIView 중 하나에서 3 정상적인 UITextFields 및 편집을 시작할 때 resignFirstResponder 두 개의 다른 UITextFields 있습니다. UIToolPicker와 UIPickerView 및 UIToolbar를 보여줍니다. 내가 겪고있는 오류는 처음 3 개의 텍스트 필드 중 하나를 타이핑하고 UIControl (backgroundTapped :)을 클릭하지 않고 편집을 끝내는 텍스트 필드를 클릭하면 키보드가 사라지지 않는다는 것입니다. 텍스트 필드가 "canResignFirstResponder"로 firstResponder 상태를 사퇴하고 있는지 여부를 확인하기 위해 로그를 추가하고 "1"을 반환했지만 키보드가 사라지지 않습니다. 심지어 상위 3 개의 텍스트 중 하나를 클릭 할 때까지 뷰가 변경 될 때까지 필드를 클릭하고 배경을 클릭하십시오. 내 showRunTypePicker의 시작 : 여기 UITextField 키보드가 사라지지 않음
내 textFieldDidBeginEditing입니다 방법 : 이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으로 옮겼습니다. 이제 키보드가 올바르게 사라집니다.
있습니다. 코드에 버그가 있습니다. –