2012-04-19 17 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

しかし、親View ControllerをRootElementからどのように取得できますか? –

+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"と表示され、グループ内の最初のオプションが何であれ、前の画面に自動的にポップバックすることができます。したがって、この場合、「ハッピークライアント」が表示されます。

関連する問題