2012-05-30 60 views
1

我有一個MonoTouch的應用程序,在AppDelegate中的RootViewController的是一個TabBarController,這TabBarController有5個ViewControllers,可以說,廠景,以view5,我使用是否有可能改變實際視圖控制器上的UITabBarController在MonoTouch的

tabBarController.SelectedIndex = 2; 

爲選擇這viewController將加載時,應用程序啓動它的作品和默認tabBar是view3,現在我需要顯示另一個viewController,讓view1更改view5與代碼,它可能嗎?那裏有一個方法來模仿我的TabBar的按鈕之一CLIC,將工作太...

在此先感謝

UPDATE:

我嘗試:

view1.TabBarController.ViewControllers[4].PresentViewController(view5, true, delegate{}); 

它的工作原理,但view5呈現在TabBar上,我也試試這個:

view1.TabBarController.TabBar.Items[4]. //i dont know wich method could invoke the click 

當我選擇的TabBar的項目,我想點擊

我覺得solucion接近這一點,問題是,總是view5顯示了使用TabBar並阻止它......

解決:

view1.TabBarController.SelectedIndex = 2; //where the number is the view zero-bassed 

回答

1

這是你想要的嗎?你可以從任何點擊處理程序調用它。

AppDelegate.Current.NavController.PushViewController(new View5(), true); 

在我AppDelegate類中,我有:

public partial class AppDelegate : UIApplicationDelegate 
{ 
    public static AppDelegate Current { get; private set; } 
    public UINavigationController NavController { get; private set; } 

    public override bool FinishedLaunching (UIApplication app, NSDictionary options) 
    { 
     Current = this; 
     NavController = new UINavigationController(); 
     ... 
    } 
} 

或做你想做的只是切換標籤:How to programmatically change views in TabBarViewController?

+0

感謝查,我感覺如此的愚蠢...... view1.TabBarController.SelectedIndex = 4;是我第一次嘗試,但Iphone模擬器拋出一個錯誤,我認爲「SelectedIndex」僅用於創建TabBarController時使用。其實這個錯誤是由別的東西在同一個動作上拋出的,我把所有的東西都擦掉了。只留下那條線,它就起作用了。 – BeN

+0

歡迎您 - 爲您工作? (同時檢查答案是否正確並帶有複選標記,以便其他人不覺得他們需要回答)。 –

相關問題