2011-03-29 66 views
2

如何在Monotouch中映射initWithRootViewController objective-c方法?Monotouch:UINavigationController,设置RootViewController

Miguel de Icaza的罗塞塔网站,我发现下面的翻译,但我不知道如何使用它:

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

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

预先感谢您。

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

回答

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 }; 
} 

我不知道这是否是把它做的最好的办法,但它会起作用。

+0

嗨卢克,谢谢。第一个答案对我不起作用。我没有一个需要UIViewController的ctr。你能帮我采用我在上面的链接中提供的解决方案吗?我会创建一个自定义导航控制器,但我不明白如何使用rosetta。再次感谢你。 – 2011-03-29 13:22:39

+0

您的应用的层次结构如何?你有一点困惑,为什么这不会为你工作.. – Luke 2011-03-29 13:25:43

+0

因为我没有像你提供的一个ctr。检查编辑。 – 2011-03-29 13:27:38

相关问题