2012-04-19 3 views
0

대화 상자에 전체 화면 모달 팝업이 있습니다.MonoTouch.Dialog : NavigationController에 없을 때 부모에게 다시 팝업

라디오 그룹이 있습니다. 이 경우의 새 화면을 선택하면 상태가 나타납니다.

상태가 선택되어있을 때 UINavigation Controller가 없을 때 어떻게 화면을 "팝업"하여 기본 대화 상자로 되돌릴 수 있습니까?

var rWhoToSee = new RootElement ("What State are you in??", gWhoToSee) { 
    new Section(){ 
      new RadioElement ("ACT"), 
      new RadioElement ("NT"), 
      new RadioElement ("NSW"), 
      new RadioElement ("TAS") 
      } 
    }; 

답변

2

자식 대화 상자가 PresentingViewController 속성이를 닫 부모 컨트롤러를 요청해야합니다. 이를 사용하여 대화 상자를 표시하는 컨트롤을 닫거나 대화 상대와 통신하는 데 사용할 수 있습니다.

var vc = dlg.PresentingViewController as MyViewController; 
    dlg.DismissViewController (true,() => {}); 
0

당신은 DismissModalViewController를 사용하여 모달()

+0

그러나 어떻게 RootElement에서 부모 View Controller를 얻을 수 있습니까? –

+0

좋은 점 - 요소가 자체 DVC에 액세스 할 수 있습니까? 그렇다면 모체에 대한 참조를 모달 DVC로 전달하십시오. 그렇지 않은 경우 MT.D의 사용자 정의를 수행해야 할 수도 있습니다. – Jason

0

전화 아래와 같은 탐색 컨트롤러에서 당신의 선택의 "팝업"방법 :

NagivationController.PopViewControllerAnimated(true); 

또한 단지 그룹화의 모든 요소 수 :

new RootElement ("Clients", new RadioGroup("clientGroup", 0)) { 
    new Section() { 
     new RadioElement ("Happy client", "clientGroup"), 
     new RadioElement ("Angry client", "clientGroup") 
    } 
}; 

이 그룹화를 사용하여 현재 루트 요소가 캡션에 "Clients"를 표시하고 그룹의 첫 번째 옵션이 무엇이든지 이전 화면으로 자동 팝업 할 수 있습니다. 따라서이 경우에는 "해피 클라이언트"가 표시됩니다.

관련 문제