UITextField가 표시 될 때 키보드가 올바르게 표시되지만 MFMailComposeViewController가 표시되고 해제 된 후에 나타나지 않는 문제가 있습니다. 커서는 텍스트 필드에는 나타나지만 키보드는 나타나지 않습니다. 작동MFMailComposeViewController가 해제 된 후 UITextField가 키보드를 표시하지 못함
[self.view addSubview:createPresetView];
[presetNameField becomeFirstResponder];
:
기본적으로 UIView의 사용자가 '만들기 사전 설정'버튼을 탭하면 UITextField에 들어있는 현재보기에 추가됩니다. 사용자는 여러 개의 새로운 사전 설정을 추가 할 수 있으며,보기가 추가 될 때마다 텍스트 필드가 첫 번째 응답자가되고 키보드가 나타납니다. 뷰 계층 구조에없는 presetNameField 문제를 배제하기 위해 1 초 지연 후에도 becomeFirstResponder를 시도해 보았습니다. 동일한 결과가 나타납니다.
다음, 미리 설정된는 표준 MFMailComposeViewController 사용하여 이메일을 통해 공유 할 수 있습니다 :
MFMailComposeViewController *mailView = [[MFMailComposeViewController alloc] init];
[mailView setMailComposeDelegate:appController];
[mailView setSubject:@"New preset"];
[mailView setMessageBody:@"\n\nMail from app" isHTML:NO];
[appController presentModalViewController:mailView animated:YES];
메일 작성보기 내가 말할 수있는 지금까지 제대로 일축 :
[controller.view endEditing:YES]; // I added this as a test to ensure the mail view resigns first responder, no difference.
[self dismissModalViewControllerAnimated:YES];
[controller release];
controller = nil;
을하지만 지금 만들기를 사전 설정 버튼은 텍스트 필드가있는보기를 추가하고 텍스트 필드를 첫 번째 응답자로 설정하지만 키보드는 나타나지 않습니다.
텍스트 필드에서 firstFirstResponder가 될 때 무슨 일이 일어나고 있는지 확인했습니다. 텍스트 필드 자체가 유효하며 canBecomeFirstResponder에 YES를 반환합니다.
내가 발견 한 유일한 단서는 [presetNameField becomeFirstResponder] 항상은 (메일보기가 표시되기 전에도) NO를 반환한다는 것입니다.
제안 사항?
당신은 해결책을 찾았나요? –