나는 뷰 B (제시된)에 의해 푸시되고 뷰 C (푸시 된)에 의해 푸시 됨으로써 viewController 계층에 추가 된 viewController A를가집니다.전체 viewController hierachy를 다시 설정할 수있는 방법이 있습니까?
ROOT -> ...- (- 본 -) -> B - (- 푸시 -) ->를
ROOT -> ...- (- 푸시 -) -> C - (- 푸시 -) -> A
그리고 지금 나는 viewController에 window.rootViewController을 변경해야하는 버튼이 있지만 두 가지 조건 모두에서 기능을 올바르게 할 수 없습니다. 호출 않는다는 표시 뷰 완료 블록이 없을 때 때문에
I가 [self.navigationController popToRootViewControllerAnimated:<#(BOOL)#>];
를 사용
은 또한 [[[UIApplication sharedApplication] keyWindow].rootViewController dismissViewControllerAnimated:YES completion:<#^(void)completion#>];
이 해결책이 아니다 제시된보기 B.을 해제하지 않을 것이다.
두 메서드를 결합하면 계층 구조의 모든 viewController에 매개 변수를 전달할 때만 작동한다고 생각합니다.
viewController 계층 구조를 지우는 방법이 있습니까? 다른 해결책이 있습니까? 당신이 좋아하는 응용 프로그램에서 어디에서 rootViewController
을 설정할 수 있습니다
컨트롤러 A를 보려면 컨트롤러 C를 보시겠습니까? –
@Tepmnthar : 왜 B 뷰가 해제 될 것입니까? 이를 위해서는'[self.navigationController dismissViewControllerAnimated : YES completion : nil];을 수동으로 작성해야하며, 왜 rootviewcontroller가 해제 될까요? Rootviewcontroller는 절대로 해산되거나 터지지 않습니다. – Poles
다시 rootview 컨트롤러를 다시로드하십시오. –