2012-05-30 4 views
1

У меня есть MonoTouch App, на AppDelegate RootViewController является TabBarController, это TabBarController есть 5 ViewControllers, позволяет сказать view1 к view5, я используюМожно ли изменить фактическое ViewController на UITabBarController в MonoTouch

tabBarController.SelectedIndex = 2; 

для выбора вида viewController загрузится, когда приложение запустит его, а tabBar по умолчанию - view3, теперь мне нужно показать другой viewController, скажем, из view1 измените на view5 с кодом, его возможно? Theres способ эмулировать Clic на одну из кнопок моего TabBar, который будет работать слишком ...

Заранее спасибо

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 и блокировать его ...

Solved:

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

Ваш прием - что сработало для вас? (также проверьте правильность ответа с помощью галочки, чтобы другие не чувствовали, что им нужно ответить). –

Смежные вопросы