2013-06-27 82 views
3

我確定我在這裏做了一些愚蠢的事情,但我看不到它。當我將DialogViewController推入導航堆棧時,後退按鈕消失。Monotouch對話框殺死我的UINavigationController後退按鈕

我推的代碼是這樣的:

//launch an inspection VC 
var vc = new FacilityInspectionListViewController(); 
this.NavigationController.PushViewController (vc, true); 

和我對話的代碼是這樣的:

public FacilityInspectionListViewController() : base(UITableViewStyle.Plain, null) 
    { 
     var root = new RootElement ("Root") 
     { 
      new Section() 
      { 
       new StringElement ("Facility 1",() => {DoSomething();}), 
       new StringElement ("Facility 2",() => {DoSomething()}), 
       new StringElement ("Facility 3",() => {DoSomething();}) 
      } 
     }; 

     base.Root = root; 
    } 

但是當我這樣做時,推屏幕有沒有後退按鈕:

Screenshot

我在這裏做錯了什麼?

回答

12

覆蓋您的Dialog視圖控制器的構造函數,設置參數設置爲true。

  1. 股票MonoTouch的對話框:

    public partial class DetailedZenoView : DialogViewController { 
        public DetailedZenoView() : base (null, true) { 
        } 
    ... 
    
  2. MvvmCross(CrossUI)對話框:

    public partial class DetailedZenoView : MvxDialogViewController { 
        public DetailedZenoView() : base ((UITableViewStyle)1, null, true) { 
        } 
    ... 
    
+1

優秀的答案,甚至包括MvvmCross解決方案! @JoshuaFrank,除非你對這個答案的有效性提出了其他意見,我強烈建議你接受它。 –

+0

這很奇怪,我以爲我接受了它。無論如何,現在就這樣做了。 –

相關問題