是否可以在Monotouch中更改UITabBarController上的实际ViewController

时间:2012-05-30 21:56:28

标签: c# xamarin.ios uitabbarcontroller

我有一个Monotouch应用程序,在AppDelegate上RootViewController是一个TabBarController,这个TabBarController有5个ViewControllers,让我们说view1到view5,我用

tabBarController.SelectedIndex = 2;

for select wich viewController将在应用程序启动时加载并且默认tabBar是view3,现在我需要显示另一个viewController,让我们说从view1更改为带有代码的view5,它可能吗?这是一种在我的TabBar的一个按钮上模仿clic的方法,它也可以工作......

提前致谢

更新:

我试试:

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

它可以工作,但是view5会在TabBar上显示,我也尝试这个:

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

我在哪里选择要点击的标签栏项目

我认为解决方案接近于此问题,问题是view5始终显示在TabBar上并阻止它...

解决:

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

1 个答案:

答案 0 :(得分: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?