몇 개의 탭 막대 버튼이있는 MainViewController
탭 막대가 있습니다. 첫 번째 탭 번호는 View 1
이며 최대 3 또는 4 개의 자식 스택이있는 탐색 컨트롤러입니다. 마지막 탭 막대 버튼은 SettingsViewController
이며, 그 안에 'Logout'과 유사한 기능이 있습니다.이 기능은 MainViewController
을 제거하고 다시 로그인 페이지로 보내는 AppDelegate의 메소드를 호출합니다. 내가 AppDelegate에이 View 1
를 (I 짓을했는지 어떤)로 선택한 탭을 설정할 SettingsViewController
에 로그 아웃 버튼, View 1
다시 (또한 완료) 로그온보기로뿐만 아니라 popToRootViewController를 사용자에게 보낼 누르면탭 막대에서 내비게이션 컨트롤러 터 내기
조금은 고군분투하고 있습니다.
tabBar의 viewControllers 속성을 사용하여 인덱스 0에서 뷰 컨트롤러에 대한 참조를 얻으려고했지만 올바르게 구현하지 않으면 올바른 방법이 아닌 것으로 보입니다.
내 가장 최근의 시도 :
// Fine
mainViewcontroller.tabBarController.selectedIndex = 0;
// Not so fine
NSArray *allViewControllers = [mainViewcontroller.tabBarController viewControllers];
View1 *vc = [allViewControllers objectAtIndex:0];
[vc.navigationController popToRootViewControllerAnimated:NO];
탭에서 방금 모든 뷰 컨트롤러를 통해 반복과 동일하게 작동하지 않는 루트에 터지는에서 또 다른 시도 :
for (UIViewController *viewController in mainViewcontroller.tabBarController.viewControllers)
{
[viewController.navigationController popToRootViewControllerAnimated:NO];
}
수 누구 도움?
보기 1에 UINavigationController가 있습니까? – bontoJR
내가보기에 추가보기 컨트롤러를 밀어 넣는 것은 무엇입니까? 로그 아웃 할 때 해당 탐색 컨트롤러를 처음으로 다시 표시해야합니다. – Greg
정확히 구현하는 방법은 무엇입니까? 특정보기 컨트롤러 클래스에 연결 한 viewController를 캐스팅하려고 시도 했습니까? –