노트 :
iOS 4.3부터 해결책에 대해 허용 된 답변 (최고 투표 대상 아님)을 참조하십시오.
이 질문 은 iPad 키보드에서 발견 된 동작에 관한 것으로, 내비게이션 컨트롤러와 함께 모달 대화 상자에 표시되면 해제되지 않습니다.
기본적으로 탐색 컨트롤러에 다음과 같은 줄을 표시하면 다음과 같습니다.
navigationController.modalPresentationStyle = UIModalPresentationFormSheet;
키보드가 닫히기를 거부합니다. 이 줄을 주석 처리하면 키보드가 사라집니다.
...
두 개의 textFields, username과 password가 있습니다. username에는 Next 버튼이 있고 password에는 Done 버튼이 있습니다. 모달 탐색 컨트롤러에 이것을 제시하면 키보드가 사라지지 않습니다.
공장
broken *b = [[broken alloc] initWithNibName:@"broken" bundle:nil];
[self.view addSubview:b.view];
작동하지 않습니다
broken *b = [[broken alloc] initWithNibName:@"broken" bundle:nil];
UINavigationController *navigationController =
[[UINavigationController alloc]
initWithRootViewController:b];
navigationController.modalPresentationStyle = UIModalPresentationFormSheet;
navigationController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:navigationController animated:YES];
[navigationController release];
[b release];
탐색 컨트롤러 부분을 제거하고 'b'를 모달보기 컨트롤러로 표시하면 작동합니다. 네비게이션 컨트롤러에 문제가 있습니까?
공장
broken *b = [[broken alloc] initWithNibName:@"broken" bundle:nil];
b.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:b animated:YES];
[b release];
공장
broken *b = [[broken alloc] initWithNibName:@"broken" bundle:nil];
UINavigationController *navigationController =
[[UINavigationController alloc]
initWithRootViewController:b];
[self presentModalViewController:navigationController animated:YES];
[navigationController release];
[b release];
UINavigationController
수업 카테고리에 넣는 것을 해결했습니다 . 건배.
resignFirstResponder
실행 중이지만 키보드가 여전히 표시되는 것에 놀랐습니다 . 내 시나리오 (navig contrllr가있는 presentationFormSheet)는 귀하와 정확히 동일합니다. 정말 감사합니다!!