0

사용자가 뷰 스택을 전환 할 수있는 메뉴가 있습니다. 내가 뭘하고 싶은거야 슬라이드 애니메이션과 함께 한 스택에서 다음 UINavigationController 전환해야합니다.Animate UINavigationController의 viewController 바꾸기

그래서, 현재 스택에 하나 개의보기를 추가, 내가이 작업을 수행 할 수 있습니다 알고 : 애니메이션, 스택에보기를 밀어 것입니다

self.navigationController!.pushViewController(myController, animated: true) 

.

는 그리고 나는이

self.navigationController!.viewControllers = newControllersStack 

을 수행 할 수 있습니다 알고하지만 애니메이션 아니에요 그리고 그냥 어떤 적절한 흐름없이 스택 흐름에 주입으로 해키 느낀다. 내가 원하는 것은 이것입니다.

self.navigationController!.changeViewControllers(newControllersStack, animated: true) 

이 방법이 있습니까? 탭 표시 줄을 살펴 봤는데 탐색 용 사이드 메뉴를 사용하여 탭을 숨겨야하고 단일 탐색 컨트롤러 내부의보기가 아닌 UINavigationControllers간에 전환이 애니메이션으로 표시됩니다.

+1

'UINavigationController.setViewControllers (_ : animated :)'는 어떻게됩니까? –

+1

반 패턴입니다. 네비게이션 스택에서 사용자는 현재 컨트롤러에 도달 한 것과 동일한 순서로 스택을 탐색 할 수 있어야합니다. 나는 그러한 방식으로 스택을 대체 할 것을 제안하지 않을 것이다. –

+0

@LeoNatan 젠장. 어떻게 그랬어? 대답으로 추가하면 받아 들일 것입니다. 그게 내가 원하는 것처럼 보입니다. 내 경우에는 이것이 합리적입니다. 사이드 탐색 메뉴에서 무언가를 선택할 때 탭 컨트롤러와 비슷한 새로운 탐색 스택입니다. – steventnorris

답변

1

UINavigationController.setViewControllers(_:animated:)을 사용하십시오.