2014-11-14 3 views
1

나는보기 컨트롤러 B를 밀어 넣기하는 탐색 컨트롤러 A가 있습니다. B 현재 B는 현재보기 컨트롤러 C입니다. C를 닫은 후 다시 A를 시도했습니다. 따라서 탐색 > (현재 ModalView) - - 흐름은 A-> B입니다> 내가 성공하지 B에서이 코드를 시도 C. :팝업보기에서 모달보기 컨트롤러를 닫은 후

self.navigationController?.popToRootViewControllerAnimated(true) 

가 어떤 제안을 내가 어떻게 이것을 달성 할 수 있습니까?

이 경우

그냥 당신이있는 navigationController에서 모달 뷰 컨트롤러 (C)와 popToRootViewController을 기각해야

답변

1

감사합니다

iOS7에

에 발생합니다. C보기 컨트롤러에 아래의 코드를 사용해보십시오 :

let presentingVC = self.presentingViewController! 
    let navigationController = presentingVC is UINavigationController ? presentingVC as? UINavigationController : presentingVC.navigationController 
    navigationController?.popToRootViewControllerAnimated(false) 

    self.dismissViewControllerAnimated(true, completion: nil) 

을이 경우 사용자에 단지 모달 뷰 컨트롤러를 기각 볼 수 있습니다. 내비게이션 컨트롤러의 팝업보기 컨트롤러는 배경에서 만들어집니다.

또 다른 옵션은 모달 뷰 컨트롤러를 없애고 그 후에 애니메이션을 사용하여 루트보기 컨트롤러로 이동 한 다음 사용자가 모든 것을 보게됩니다. 아래 코드 :

let presentingVC = self.presentingViewController! 
    let navigationController = presentingVC is UINavigationController ? presentingVC as? UINavigationController : presentingVC.navigationController 


    self.dismissViewControllerAnimated(true, completion: {() -> Void in 

     navigationController?.popToRootViewControllerAnimated(true) 
     return 
    })