Вы должны создавать свои контроллеры представления в ViewDidLoad UITabBarController, а не в ViewDidAppear.Я использую код ниже (первая часть в вашем классе AppDelegate):
// WARNING: Do not make these variables local. MonoTouch will loose the reference to them!
private UIWindow _mainWindow;
private MainTabBarController _mainTabBarController;
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
_mainWindow = new UIWindow(UIScreen.MainScreen.Bounds);
_mainTabBarController = new MainTabBarController();
_mainWindow.AddSubview(_mainTabBarController.View);
_mainWindow.MakeKeyAndVisible ();
return true;
}
Ваш класс MainTabBarController должен выглядеть следующим образом:
public class MainTabBarController : UITabBarController
{
public override void ViewDidLoad ()
{
ViewControllers = new UIViewController[]
{
new ViewControllerTab1(),
new ViewControllerTab2(),
new ViewControllerTab3(),
new ViewControllerTab4(),
new ViewControllerTab5()
};
SelectedIndex = 2;
}
}
Это покажет Tab3 (с индексом 2)при запуске.
ViewControllerTab1 и т. д. являются классами, полученными, например, из.UIViewController или UINavigationController, которые реализуют свой пользовательский интерфейс в своем собственном ViewDidLoad ()