0

appdelegate의 모든 스택이있는보기 컨트롤러를 표시하는 방법.
TabBarContoller는 rootviewcontoller입니다.
TabBarController에 4 개의 탭이 있으며 각 탭은 nav 컨트롤러입니다.
그래서 내가이 같은 viewcontroller 제시해야합니다. tabBar => navBar => mainViewContoller => aViewController => bViewController;
그리고 mainviewcontroller로 돌아가거나 탭바를 사용하여 탐색 할 수 있어야합니다.TabBarController => NavbarController를 통해 AppContlegate에서보기 컨트롤러를 표시하는 방법

나는 스토리 보드가 있습니다.

비슷한 질문으로 권장되는 많은 솔루션을 시도했지만 도움이되지 않았습니다.

답변

0
TabBarController * tabBar = (TabBarController *)[UIApplication sharedApplication].delegate.window.rootViewController; 
        if([tabBar isKindOfClass:[UITabBarController class]]){ 
        [tabBar setSelectedIndex:0]; 
        UINavigationController * navBar = (UINavigationController *)tabBar.selectedViewController; 
        UIViewController * currentVC = navBar.topViewController; 
        [currentVC performSegueWithIdentifier:@"notificationSegue" sender:nil]; 
0

스토리 보드를 통해서만 구현해야합니다.

appcoda을 사용하여 샘플 프로젝트를 시도했습니다. 성공적으로 실행했습니다. 스토리 보드 디자인을 보여줍니다.

enter image description here

그것은 여러 개의 뷰 컨트롤러를 사용하여 구현 한

enter image description here

.

+0

감사합니다 당신을 필요로하지만 난 푸시 모든 것들로 특정의 ViewController를 AppDelegate에에서 현재 무엇을해야 탭

self.window = UIWindow(frame: UIScreen.main.bounds) let storyboard = UIStoryboard.init(name: "Main", bundle: nil) let viewController = storyboard.instantiateViewController(withIdentifier: "TabBarControllerID") as! UITabBarController viewController.selectedIndex = 3 self.window?.rootViewController = viewController self.window?.makeKeyAndVisible() 

변경 selectedIndex의 값입니다. –

+0

그러면 스토리 보드가 아닌 xib과 함께 가야합니다. – user3182143

0

나는 이것이 모든 스위프트 사용자에게 도움이 될 것이라고 생각했습니다. 나는 유사 프로젝트 설정을 가지고, LoginViewcontroller -> TabBarController (5 개 탭) -> 각 탭에있는 navigationController -> 기타 ViewControllers는

는 스토리 보드에서, 내 TabBarController

은 AppDelegate에 (didFinishLaunchingWithOptions) 내

내가 추가 된 스토리 보드 ID를 준 당신이 당신의 의견에 대한

관련 문제