2016-06-21 2 views
0

XLPagerTabStrip을 사용하여 내보기 컨트롤러 상단에 여러 개의 자식보기 컨트롤러가 표시되는 탭 막대를 효과적으로 만들었습니다 (소스 : https://github.com/xmartlabs/XLPagerTabStrip)스위프트 : 탐색 컨트롤러가없는 경우 초기보기 컨트롤러로 돌아 오는 방법

이러한 하위보기 컨트롤러를 A1, B1 및 C1 호출하도록합니다. 자식 뷰 컨트롤러 내에서 한 번 탭한 모든 뷰 컨트롤러를 새 뷰 컨트롤러 (A2)로 연결하는 테이블 뷰가 컨트롤러입니다. A2에서 첫 번째보기 컨트롤러로 돌아갈 수 있기를 원합니다. 모든 하위보기 컨트롤러에 탐색 모음을 추가하고 navigationController? .popToRootViewControllerAnimated (true) 메서드를 사용하려고 시도했지만이 코드가 포함 된 단추를 누르면 아무 일도 발생하지 않습니다. 또한 자식보기 컨트롤러를 호스팅하는 초기보기 컨트롤러 내에 탐색 컨트롤러를 포함 시키려고 시도했으나 자식보기 컨트롤러 A1, B1 및 C1이 하위 뷰 컨트롤러에 연결되어 있지 않으므로이 작업도 수행되지 않습니다. 스토리 보드).

답변

2

보기 컨트롤러의 storyboard id을 설정하십시오. 그런 다음 :

let vc = self.storyboard?.instantiateViewController(withIdentifier: "someID") 

스위프트 2

self.showViewController(vc, sender: self) 

스위프트 3

self.show(vc, sender: self) 
+0

당신을 감사합니다. 나는 코드의 마지막 줄을 self.showViewController (vc, 보낸 사람 : 자기)로 바꿔서 대답을 편집 할 가치가있다. :) –

+1

죄송합니다. Swift 3입니다. Swift 2를 편집 할 것입니다. – penatheboss

+0

아니요 정말 최고의 옵션. 'vc'는 새로운 인스턴스입니다. 마술처럼 이전 인스턴스를 재사용하지 않습니다. A1, B1, C1을'UINavigationController'에 삽입하면 컨트롤러 스택이 생깁니다. –

관련 문제