2011-03-29 71 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

相關問題