我正在使用 MonoTouch 创建通用应用程序。在 iPad 上运行时,我使用UISplitViewController
MonoTouch.Dialog 在主视图(左侧)中构建多级菜单。
问题是,当我触摸第一个根元素时,它会打开覆盖整个屏幕的新视图,而不是位于主拆分视图内。
问题是,我怎样才能使下一个根元素在与其父级相同的视图中打开?
我能找到的所有示例通常在主视图上都有一级菜单,因此当您触摸它时,它会在详细视图上显示一些内容。
希望这是有道理的。
我正在使用 MonoTouch 创建通用应用程序。在 iPad 上运行时,我使用UISplitViewController
MonoTouch.Dialog 在主视图(左侧)中构建多级菜单。
问题是,当我触摸第一个根元素时,它会打开覆盖整个屏幕的新视图,而不是位于主拆分视图内。
问题是,我怎样才能使下一个根元素在与其父级相同的视图中打开?
我能找到的所有示例通常在主视图上都有一级菜单,因此当您触摸它时,它会在详细视图上显示一些内容。
希望这是有道理的。
假设你有一个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
};
};
所以你希望你的,我猜是表,在主控中填充触摸事件的新主视图?
我对 .dialog 不熟悉,但我举了一个我知道的例子:
带上你的rootviewcontroller.parentviewcontroller.splitviewcontroller
然后填充viewcontrollers[0]
var split =(uisplitviewcontroller)rootviewcontroller.parentviewcontroller.splitviewcontroller;
var nav = (uinavigationcontroller)split.viewcontrollers[0];
nav.pushviewcontroller(_yourView_);