如何在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方法(在链接中提供)。
答案 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 };
}
我不确定这是否是完成它的最佳方式,但它会起作用。