2016-10-02 1 views
0

Swift에서 presentViewController이 호출 된 후에 어떻게 든 pushViewController을 호출 할 수 있습니까?Swift에서 presentViewController 이후에 pushViewController를 호출하십시오.

또는 최소한 UIViewController이 왼쪽에서 나타날 때 동일한 동작을 구현해야합니다. 내가 개발해야 할 유일한 옵션은 pushViewControllerCATransition()으로 가짜로 만드는 것이지만,이 경우 새로운 메커니즘 인 UIViewController이 네이티브와 다릅니다.

  • pushViewController 네이티브를 사용하면 새로운 UIViewController이 사라지고 이전 버전 위에 나타납니다.
  • 위조 된 presentViewController을 사용하는 경우 새로운 UIViewController이 나타나면 방금 화면 밖으로 나옵니다.

또한 segue을 사용해 보았습니다 만,이 경우에는 새로운 UIViewController이 아래에서 나타납니다.

따라서 pushViewController (가능하면 presentViewController) 뒤에 전화하는 것이 더 좋습니다.

감사합니다.

+0

네비게이션 컨트롤러를 사용하고 스토리 보드에서 segue를 만들려고 했습니까? –

+0

@Lu_ 네, 하단에서도 새로운 UIViewController를 보여 줍니 다만 왼쪽에서 – Danny

+0

이 필요합니다. 스토리 보드에 segue가 있으면 간단한 performsegue 메소드가 작업을 수행해야합니다 –

답변

1

UINavigationController을 사용하고 rootViewControllerUIViewController (하단에서 - modal)으로 설정해야합니다.

UINavigationControllerpresentViewController으로 전화하십시오.

그러면 pushViewController을 호출하여 UIViewControllers을 탐색 스택에 밀어 넣으면 하단 대신 측면에서 밀어 넣습니다.

+0

이것은 좋은 생각이지만, 여기 내 모델에 맞지 않는 두 가지가 있습니다. 첫째로'UIModalTransitionStyleCoverVertical'은 IOS 9+ 일뿐입니다.하지만이 솔루션도 IOS 8에서만 필요합니다. 둘째로 순간적으로'rootViewController'를 다시 설정하기 위해 그물을 잡아서 원치 않는 애니메이션을 얻습니다 – Danny

관련 문제