2013-06-21 94 views
0

我有两个标签栏项目与两个不同的表视图与导航控制器。 通过点击tab1 --- table1正在打开...好。但是当我在table1上选择时,它会转到另一个视图(表格选择视图)....每件事情都很好。UITabBar项目没有选择不工作

,但这里的问题是

,当我点击TAB2 ----表2是开放....好。

但是再次点击tab1 ------它不加载table1 ....它正在加载(table did select view)视图。我最后一次离开那里。

我想打开table1 ----点击tab1 ......通过编程。

帮我

回答

1

也就是说,如果您使用的是标签栏控制器和标签栏的项目导航控制器的预期行为。用户将希望该选项卡保留视图的状态。

如果你仍然想执行应用程序时,用户可以追溯到选项卡,返回到导航控制器的根视图控制器,可以实现UITabBarControllerDelegatetabBarController:didSelectViewController:方法。代表方法的作用是:

告诉代表用户在标签栏中选择了一个项目。

然后调用UINavigationController称为popToRootViewControllerAnimated的方法:当拉片上用户抽头。这将帮助您:

弹出堆栈中的所有视图控制器,除了根视图 控制器并更新显示。

例如:

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController 
{ 
    if(viewController == yourNavigationController) { 
     UINavigationController *navigationController = (UINavigationController *)viewController; 
     [navigationController popToRootViewControllerAnimated:NO]; 
    } 
}