0

그 자체가 UITableViewController의 탭인 UINavigationViewController에있는 다른 UIViewController에서 액세스 할 수있는 UIViewController를 역전해야합니다. > (각 탭)은 UINavigationController - -UITabBarViewController의 UINavigationController에서 UIViewController에서 액세스하는 UIViewController를 역방향 연결하는 방법은 무엇입니까?

는 기본적으로이

UITabBarViewController처럼 보인다>의 UIViewController -> (보도 UIBarButtonItem) ->이 때문에 프로젝트의 제약

일하고 있어요 I TheViewControllerIWant, 이 모든 것은 AppDelegate에서 프로그래밍 방식으로 생성되었습니다. 이 문제를 해결하기 위해 스토리 보드를 사용할 수 없습니다.

내 기존 코드는 다음과 같습니다. 그것은의 ViewController에 저를 얻을 수 있지만, 나에게 나는 또한 시작으로 이것을 시도

- (BOOL) application: (UIApplication *) application openURL: (NSURL *) url sourceApplication: (NSString *) sourceApplication annotation: (id) annotation { 

    if ([url.scheme isEqualToString: @"myApp"]) { 

     if ([url.host isEqualToString: @"account"]) 
     { 
      self.window.rootViewController = [[EditAccountViewController alloc] init]; 
     } 
} 

탭에서의 ViewController로 다시 탐색 할 수있는 방법을 제공하지 않지만, 다음의 ViewController 앞으로 탐색 할 방법이 없습니다 그것에 TabBar의에서 하나에서 :

- (BOOL) application: (UIApplication *) application openURL: (NSURL *) url sourceApplication: (NSString *) sourceApplication annotation: (id) annotation { 

    if ([url.scheme isEqualToString: @"myApp"]) { 

     if ([url.host isEqualToString: @"account"]) 
     { 
      [_tabBarController setSelectedIndex:0]; 
      self.window.rootViewController = _tabBarController; 
     } 
    } 
} 

나는 그래서

는거야 ....이

답변

-1

그럼 당신은 수동으로 모든 작업을 실행하는 데 필요한 달성하려면 어떻게 는 2 차 3 차 등의 객체 인 경우에 ...

[_tabBarController setSelectedIndex:0]; 
UIViewController *myVC = self.tabBarController.viewControllers.firstObject; 
UIViewController *destinationVC = [[UIViewController alloc] initWithNibName:@"vc.nib" bundle:[NSBundle mainBundle]]; 
[myVC.navigationController pushViewController:destinationVC animated:YES]; 
+0

다음 첫 번째 탭의의 UIViewController를 얻을 수 및 탐색 컨트롤러에 대상의 ViewController를 밀어해야합니다 먼저 TabBarController 에 첫 번째 탭을 선택해야합니다 tabbar에서 vcs를 호출 할 해당 .secondObject .thirdObject 등이 있을까요? – DCIndieDev

+0

위의 대답에 대해 한 단계 더 깊이 가서 다른 VC를 밀어 넣어야하는 경우 어떻게해야합니까? – DCIndieDev

+0

특정 순서로 탐색 스택을 유지하려면 다음 푸시 후 새 viewController를 스택에 푸시해야합니다. 스택에 신경 쓰지 않는다면, 최종 Destnation View Controller를 초기화하고 Navigation Stack의 첫 번째 VC로 밀어 넣을 수 있습니다. 귀하의 다른 질문에 관해서는,'self.tabBarController.viewControllerers'는'NSArray'이므로'Self.tabBarController.viewControllers objectAtIndex : 2];와 같은 다른 ViewController를 참조 할 것입니다. , 3, 4, 등 .... – Lefteris