我有一个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
答案 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?