我有两个标签栏项目,带有两个带导航控制器的不同表视图。 通过点击tab1 --- table1正在打开...好。但当我在table1上选择时,它会转到另一个视图(表格确实选择了视图)....每件事情都很好。
但这里的问题是
当我点击tab2时----表2正在打开....好。
但是再次点击tab1 ------它没有加载table1 ....它正在加载(table did select view)视图。我最后一次离开那里。
我想打开table1 ----点击tab1 ......编程。
帮帮我
答案 0 :(得分:1)
如果您在标签栏的项目中使用标签栏控制器和导航控制器,那么这是预期的行为。用户希望选项卡保留视图的状态。
如果您仍希望强制应用程序在用户返回选项卡时返回导航控制器的根视图控制器,则可以实现UITabBarControllerDelegate tabBarController:didSelectViewController:方法。这个委托方法的作用是:
告诉代表用户在标签栏中选择了一个项目。
当用户点击选项卡时,调用名为 popToRootViewControllerAnimated:的UINavigationController方法。这将有助于您:
弹出除根视图外的堆栈上的所有视图控制器 控制器并更新显示。
例如:
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
if(viewController == yourNavigationController) {
UINavigationController *navigationController = (UINavigationController *)viewController;
[navigationController popToRootViewControllerAnimated:NO];
}
}