루트에 UITabBarController (세 개의 탭이 있음)가있는 iOS 응용 프로그램이 있습니다. 사용자가 RegisterViewController에서 "등록"버튼을 탭하면UITabBarController에서 UIViewController를 해제 할 수 없습니다.
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
RegisterViewController *registerViewController = [mainStoryboard instantiateViewControllerWithIdentifier:@"RegisterView"];
[registerViewController setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
[self presentViewController:registerViewController animated:NO completion:nil];
이는 일단 QuestionnaireViewController를 제공합니다 : viewDidAppear의 첫 번째 탭에서
: 사용자가 아직 등록하지 않은 경우 나는 RegisterViewController을 제시하기 위해 다음과 같은 한 HTTP 응답이 수신되었습니다.때 내가 수 있어요 QuestionnaireViewController에 버튼이 기각하는 "제출"에 탭 :
[[self presentingViewController] dismissViewControllerAnimated:YES completion:nil];
그때 RegisterViewController가 수신 대기 알림 게시 : 이제
[[NSNotificationCenter defaultCenter] postNotificationName:UserHasCompletedQuestionnaireNotification object:nil];
을, 여기 내 문제가 어디에 거짓말 - RegisterViewController 내가 시도하고 그것을 해고 통지를 듣고, 그러나 수 없습니다.
나는 해고의 다양한 함의를 시도 그것과 같은 :
[[self tabBarController] dismissViewControllerAnimated:YES completion:nil];
아무것도하지 않는다
및 : 희망이 사람을
attempt to dismiss modal view controller whose view does not currently appear. self = <RegisterViewController: 0x8525ea0> modalViewController = <UINavigationController: 0x74545e0>
attempt to dismiss modal view controller whose view does not currently appear. self = <UITabBarController: 0x8320060> modalViewController = <RegisterViewController: 0x8525ea0>
: 다음과 같은 오류를 제공
[[self presentingViewController] dismissViewControllerAnimated:YES completion:nil];
내가 여기서 바보 같은 짓을하고 있다고 말할 수있을 것입니다.
감사합니다, 닉
나는 그것을 이미 시도했지만, 불행하게도 아무 것도하지 않는다. – Nick
self.presentingViewController.presentingViewController를 로그하면, 그것은 무엇을 제공합니까? – rdelmar
self.presentingViewController = UITabBarController, self.presentingViewController.presentingViewController = null – Nick