0

내 응용 프로그램은보기 기반 응용 프로그램입니다. 첫 번째보기는 로그인보기입니다.어떻게 현재보기를 떠나지 않고 modalViewController를 닫을 수 있습니까?

로그인 뷰 컨트롤러에서
@interface RunnoMainMenuController : UIViewController { 
IBOutlet UITabBarController *tabBarController; 
} 

, 내가 코드 줄을 사용하여 MainMenuController하기 위하여려고하고있다 :

[self presentModalViewController:mainMenu animated:YES]; 

이 컨트롤러는 4 개의 탭이 있습니다 로그인보기 후 나는 tabBarController을 가지고 MainMenuCcontroller 있습니다. 이제 viewBase에서 TabBarItem의 일부를 처리해야합니다. tabBarItem 탭 할 때 viewWillAppear 호출되지 않습니다. 하나의 tabBarItem 뷰에 presentModalViewController를 사용하여 테이블 뷰 컨트롤러를 팝업하는 버튼이 있습니다. 이 tableView는 dismissModalViewControllerAnimated : YES를 사용하여 사라집니다. 이 tableview 팝업 및 모든 tabBarItem viewWillAppear 잘 닫을 때 닫습니다. MainMenuController에서 modalViewController를 해제하면 다시 로그인보기로 돌아갑니다. 어떻게 현재보기 또는 다른 솔루션을 떠나지 않고 modalViewController 무시할 수 있습니까? 미리 감사드립니다.

답변

3

귀하의 의견이 어떻게 제시되는지 고려해야 할 필요가 있습니다. 탭 막대 컨트롤러는 항상 창의 루트보기 컨트롤러 여야합니다. Apple docs에서 :

탭 표시 줄 인터페이스를 배포, 당신은 당신의 윈도우의 루트로이보기를 설치해야합니다. 다른 뷰 컨트롤러와는 달리 탭 표시 줄 은 다른 뷰 컨트롤러의 자식으로 설치되어서는 안됩니다.

로그인보기를 루트보기로 표시하고 탭 표시 줄을 모달보기 컨트롤러로 표시하는 대신 다른 방법으로 시도하십시오. 탭 표시 줄 컨트롤러는 처음에 표시되는보기 컨트롤러에서 모달보기 컨트롤러로 표시되는 로그인보기와 함께 루트로 표시됩니다. 이를 닫으면 탭 막대 컨트롤러가 나타납니다.

관련 문제