Monotouch:UINavigationController,设置RootViewController

时间:2011-03-29 11:29:42

标签: uinavigationcontroller xamarin.ios rootview

如何在Monotouch中映射initWithRootViewController objective-c方法?

来自Miguel de Icaza Rosetta网站,我发现了以下翻译,但我不知道如何应用它:

Selector: initWithRootViewController:
Method: IntPtr Constructor (UIViewController rootViewController);

然后,我还有另一个问题需要解决。我会在运行时期间更改UINavigationController RootViewController。可能吗?浏览网页,我发现了Changing a UINavigationController’s Root View Controller。有更简单的解决方案吗?

提前谢谢。

编辑:我的目标是在Monotouch中映射initWithRootViewController方法(在链接中提供)。

1 个答案:

答案 0 :(得分:3)

要回答您的第一个问题 - 您只需创建一个新的UINavigationController,如下所示:

UINavigationController navController = new UINavigationController(rootViewController);

从技术上讲,可以通过修改ViewControllers属性来更改根控制器。例如:

navController.ViewControllers = new UIViewController[2] { newRootController, childController }

修改

尝试将以下构造函数添加到自定义UINavigationController

public CustomNavController(UIViewController rootViewController)
{
    ViewControllers = new UIViewController[1] { rootViewController };
}

我不确定这是否是完成它的最佳方式,但它会起作用。