2017-12-03 15 views
0

pushViewController를 통해 기존 UIViewcontroller에 segue 문제가 있습니다. 내가 resultsViewController의 장소에 탭있을 때는탐색 스택이 업데이트되지 않습니다. GMSAutocompleteResultsViewController에서 연결

, 나는 MainVC에 SEGUE을 기대하지만 난 오류가 :

과 pushViewController를 : 기존의 전환 또는 프리젠 테이션이 발생하는 동안에라고;되는 동영상이 네비게이션 스택은 업데이트되지 않습니다.

어떻게 해결할 수 있으며 MainVC로 전환 할 수 있습니까 ??

+0

계층 구조에서 'SearchVC'는 어디에 있습니까? Navigation VC의 루트인가? 그것은 Nav Stack으로 밀려 났습니까? 그것은 "제시"되었습니까? 실제 스토리 **에 스토리 **가 정의되어 있습니까? 그렇다면, 당신은 segue를 트리거하고 * .pushViewController를 동시에 호출 할 수 있습니까? – DonMag

+0

스크린 샷 https://imgur.com/a/vcNVU를 확인하십시오. 스토리 보드에 실제 섹 거가 정의 된 계층 구조입니다. SearchVC는 MainVC에서 프로그래밍 방식으로 제공되었습니다. 'let storyBoard : UIStoryboard = UIStoryboard (이름 : "Main", 번들 : nil), searchVC = storyBoard.instantiateViewController (withIdentifier : "SearchVC")를 다음과 같이 사용합니다. SearchVC, self.navigationController? .pushViewController (searchVC, animated : false)'이 전환은 잘 작동합니다. – Rurom

답변

1

커플 일 :

  1. 당신이 탐색의 "배로"않았는지 확인하십시오. Segue을 사용하여 다른보기 컨트롤러로 전환하는 경우 .pushViewController() 또는 present()을 호출하지 마십시오.

  2. 는 푸시 본 사이의 차이를 이해한다. 귀하의 경우

, 그것은 MainVC가 NavController의 루트 VC 있음 (검색 설명 및 샷 기준), 및 SEGUE는 탐색 스택에SearchVC를 밀었다 나타나는. SearchVC이 "오른쪽에서 슬라이드"하면 거의 확실합니다. 당신이있는 경우

팝업이 떨어져 popViewController(animated: Bool)와 스택하려는 다음의 탐색 스택 위에 VC을 밀었다. 그러면 "이전 VC를 왼쪽에서부터 밀어 넣습니다". 당신의 goToVc() 기능에

, 당신은 MainVC새로운 인스턴스를 생성하고 스택에 밀어 위해 노력하고 있습니다.