DialogViewController破坏了UINavigationController路径

8

我在将一个 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 的替代品。
1个回答

12

只需使用:

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

即,在DialogViewControler构造函数中添加额外的true参数。


那很棘手。但我认为离开UIViewController的默认行为背后有充分的理由。 - Timm
这个问题困扰了我一段时间。我很想知道你是如何找到答案的... - Christian Payne
1
@ChristianPayne 我不太记得我是怎么发现的 - 但很可能是通过阅读MT.D的源代码,该代码可在https://github.com/migueldeicaza/MonoTouch.Dialog上获得。 - poupou

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接