2012-02-20 70 views
8

當我將DialogViewController推送到我的全球應用程序UINavigationController時,我遇到了問題,它會丟失後退按鈕。DialogViewController中斷UINavigationController路徑

我能夠熬下來到這個簡單的例子:

var nav = new UINavigationController(); 
window.RootViewController = nav; 

nav.PushViewController(new UIViewController() { Title = "#1"}, true); 
nav.PushViewController(new DialogViewController(new RootElement("#2")), true); 
nav.PushViewController(new UIViewController() { Title = "#3"}, true); 

你可以從#3#2,但不能從#2#1。我是否做錯了DialogViewController?我雖然可以作爲UIViewController的直接替代品。

回答

12

只需使用:

nav.PushViewController(new DialogViewController(new RootElement("#2"), true), true); 

即額外trueDialogViewControler構造函數。

+0

這很棘手。但是我認爲背離UIViewController的默認行爲有很好的理由。 – Timm 2012-02-21 09:11:03

+0

這一直困擾我一段時間。我很想知道你是怎麼發現的...... – 2012-10-12 06:42:20

+1

@ChristianPayne我並不完全記得我是如何發現的 - 但它可能是閱讀MT.D的源代碼,它可在https:// github上獲得的.com/migueldeicaza/MonoTouch.Dialog – poupou 2012-10-12 12:44:24

相關問題