2016-08-26 4 views
0

Xamarin 양식의 탐색 : 페이지 A에서 페이지 B로 이동해야합니다. 페이지 A에서 필자는 navigation.pushasync(new B)을 작성했습니다. 페이지 B에서 popasync()을 클릭하는 동안 페이지 A로 리디렉션됩니다. 올바른 것입니다.xamarin 양식의 내비게이션

페이지에서 C로 이동하는 또 다른 페이지 탐색이 있습니다. C에서 B로 진행할 수 있지만 B의 뒤로 버튼은 항상 A로 돌아와야합니다. C에서 B로 이동하는 동안, (navigation.popasync()) 나는 C 대신 A 대신에 도달하려고합니다. A (navigation.pushasync(A))의 새 인스턴스를 만들고 싶지 않습니다. 이 문제에 어떻게 접근합니까?

간단히 말해서, 네비게이션 스택에서 2 페이지를 어떻게 팝합니까?

+0

사용자가 올바르게 읽을 수 있도록 단락으로 질문하십시오. –

답변

0
for (SecondViewController *controller in self.navigationController.viewControllers) { 
    if ([controller isKindOfClass:[SecondViewController class]]) { 
     [self.navigationController popViewControllerAnimated:YES]; 
     break; 
    }else if ([controller isKindOfClass:[ThirdViewController class]]) { 
     [self.navigationController popViewControllerAnimated:YES]; 
    } 

} 
0

탐색 객체가 기본적으로 브라우저 기록과 동일한 NavigationStack 속성이 읽어 보시기 바랍니다. 읽기 전용 목록입니다. 그래서 당신은 이렇게 할 수 있습니다.

if (Navigation.NavigationStack[Navigation.NavigationStack - 2].GetType() == typeof(A)) 
    Navigation.PopAsync(); 
Navigation.PopAsync(); 
관련 문제