Xamarin.ios 在Monotouch中,如何基于行选择更改局部视图控制器

Xamarin.ios 在Monotouch中,如何基于行选择更改局部视图控制器,xamarin.ios,uisplitviewcontroller,Xamarin.ios,Uisplitviewcontroller,我在应用程序中使用UISplitViewController,希望在选择导航的表视图行时将详细视图更改为不同的视图。问题是我似乎不知道该怎么做。即使我将ViewControllers[1]设置为我想要使用的控制器,也不会发生任何事情。在apple dev网站上,该列表显示了一个使用SubstitutableUIViewController的示例,但我在monotouch堆栈上似乎找不到 建议?在MonoTouch中,要执行此操作,请调用UISplitViewController上的SetView

我在应用程序中使用UISplitViewController,希望在选择导航的表视图行时将详细视图更改为不同的视图。问题是我似乎不知道该怎么做。即使我将ViewControllers[1]设置为我想要使用的控制器,也不会发生任何事情。在apple dev网站上,该列表显示了一个使用SubstitutableUIViewController的示例,但我在monotouch堆栈上似乎找不到


建议?

在MonoTouch中,要执行此操作,请调用UISplitViewController上的SetViewControllers。第一个索引应该是主视图,第二个索引应该是详细视图

设置ViewController[x]不会更新UI。内部没有任何事件会告诉UI进行更新,这就是它们提供SetViewController方法的原因


另一个选项是在详细视图中使用UINavigationController,这将在顶部提供一个后退按钮,这可能会根据您的场景而有所不同。

在MonoTouch中,要执行此操作,请在UISplitViewController上调用SetViewController。第一个索引应该是主视图,第二个索引应该是详细视图

设置ViewController[x]不会更新UI。内部没有任何事件会告诉UI进行更新,这就是它们提供SetViewController方法的原因


另一种选择是在详细视图中使用UINavigationController,这将在顶部提供一个后退按钮,这可能会根据您的场景而有所不同。

这很有意义。我原以为一旦控制器被更新,就会有一种方法来更新它,但我猜他们是在setter中这样做的。我稍后会试一试,然后记下你的答案。非常感谢!我刚刚遇到这个问题,我也遇到了同样的困难。但是我看不到方法SetViewController?这不是智能感知还是什么?我使用的是MonoTouch 5.2.12。是否已删除?只需使用
ViewControllers
属性并使用新数组设置它。这可能在某个时候被删除了,b/c它作为c#中的属性更好。在
UINavigationController
上有一个
SetViewControllers
方法,但它允许设置一个标志,指示新控制器是否应使用过渡动画
UISplitController
没有这种能力。这是有道理的。我原以为一旦控制器被更新,就会有一种方法来更新它,但我猜他们是在setter中这样做的。我稍后会试一试,然后记下你的答案。非常感谢!我刚刚遇到这个问题,我也遇到了同样的困难。但是我看不到方法SetViewController?这不是智能感知还是什么?我使用的是MonoTouch 5.2.12。是否已删除?只需使用
ViewControllers
属性并使用新数组设置它。这可能在某个时候被删除了,b/c它作为c#中的属性更好。在
UINavigationController
上有一个
SetViewControllers
方法,但它允许设置一个标志,指示新控制器是否应使用过渡动画
UISplitController
不具备这种能力。