1

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

tabBarController.SelectedIndex = 2;

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

更新:

我试过:

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

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

view1.TabBarController.TabBar.Items[4]. //I don't know which method could invoke the click

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

我认为解决方案接近这个,问题是view5总是显示在TabBar上并阻止它......

解决了:

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

1 回答 1

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();
        ...
    }
}

还是您只想切换选项卡:如何以编程方式更改 TabBarViewController 中的视图?

于 2012-05-30T22:16:36.797 回答