1

我正在使用 MonoTouch 创建通用应用程序。在 iPad 上运行时,我使用UISplitViewControllerMonoTouch.Dialog 在主视图(左侧)中构建多级菜单。

问题是,当我触摸第一个根元素时,它会打开覆盖整个屏幕的新视图,而不是位于主拆分视图内。

问题是,我怎样才能使下一个根元素在与其父级相同的视图中打开?

我能找到的所有示例通常在主视图上都有一级菜单,因此当您触摸它时,它会在详细视图上显示一些内容。

希望这是有道理的。

4

2 回答 2

1

假设你有一个UISplitViewController和你的CustomViewController.

UISplitViewController split = ...;
CustomViewController controller = ...;

如果要将新控制器到当前(主)控制器之上,请使用:

var root = new RootElement ();
var dvc = new DialogViewController (UITableViewStyle.Plain, root, true);
dvc.ActivateController (controller);

如果您想在详细信息(右)部分显示新控制器,请使用以下内容:

UISplitViewController split = ...;
var about = new StringElement ("About");
about.Tapped += delegate {
    split.ViewControllers = new UIViewController [] {
        split.ViewControllers [0],
        controller
    };
};
于 2012-10-02T17:54:58.073 回答
0

所以你希望你的,我猜是表,在主控中填充触摸事件的新主视图?

我对 .dialog 不熟悉,但我举了一个我知道的例子:

带上你的rootviewcontroller.parentviewcontroller.splitviewcontroller然后填充viewcontrollers[0]

var split =(uisplitviewcontroller)rootviewcontroller.parentviewcontroller.splitviewcontroller;
var nav = (uinavigationcontroller)split.viewcontrollers[0];
nav.pushviewcontroller(_yourView_);
于 2012-10-02T12:15:36.253 回答