2017-09-08 6 views
0

Tab Bar Controller와 관련된 viewController가 있습니다. 첫 번째 것입니다.연결되지 않은 viewcontroller의 탭 막대를 사용하여 View Controller를 인스턴스화하십시오.

tableview의 셀을 클릭하면 프로그래밍 방식으로 다른 viewController가 표시됩니다 (오른쪽 이유 때문에).

지금,이 질문의 시작 부분에 언급 된 탭 막대와 관련된 두 번째 viewController를 표시하거나 인스턴스화하는 것이 저의 목표입니다.

내가 이것을 사용합니다 경우

: 그것은 물론 탭 표시 줄없이 언급의 ViewController를 발표됩니다

let vc=storyboard?.instantiateViewController(withIdentifier: "offerteView") as! SecondViewController

.

어떻게 해결할 수 있습니까?

답변

2

탐색 컨트롤러에 첫 번째보기 컨트롤러를 삽입하고 pushViewController 기능을 사용하여 두 번째보기 컨트롤러를 표시합니다.

let vc = storyboard?.instantiateViewController(withIdentifier: "offerteView") as! SecondViewController 
navigationController?.pushViewController(vc, animated: true) 
+0

첫 번째 viewcontroller에는 이미 내비게이션 컨트롤러가 있습니다. 탭바입니다. 문제는 네비게이션 컨트럴러가 없다는 것입니다. 나는 그것을 제시하고자합니다. –

+0

@LorenzoN. 탭바 컨트롤러는 ** 네비게이션 컨트롤러가 아닙니다 **입니다. – the4kman

+0

알았어, 미안 : 나는 그것을 몰랐다. 글쎄 어떻게해야할지 모르겠다 : 첫 번째 탭바도 있어야합니다. 내가 어떻게 할 수있는? –

0

탭 막대를 사용할 때보기 컨트롤러는 색인을 기준으로 호출되며 탭 막대는 여전히 유지 관리되며 이와 같이 수행 할 수 있습니다.

self.tabBarController!.selectedViewController! = self.tabBarController!.viewControllers[3] 

여기서 [3]은 View Controller의 인덱스 위치입니다.

또는

self.tabBarController.selectedIndex = 1; 

// 그것이 도움이되었습니다 바랍니다. 해피 코딩.