我正在使用RootViewController中的6个选项卡导航到Tab栏控制器...我在左侧导航栏项目中创建了后退按钮方法,将所有选项卡视图弹出到RootViewController ...当我尝试弹出第5个或者第5个tabview ..后面的按钮在MoreViewController,第5个标签和第6个标签中根本不起作用......
这是有效的: 1)从1到4个选项卡弹回RootView
2)从更多视图弹回到RootView(仅在第一次工作时)
3)从第5 /第6视图回弹到MoreView(仅在第一次工作时)
这是什么不起作用: 1)不从MoreView弹出回RootView
我做错了什么?
- (void)viewDidLoad
{
...
self.tabBarController.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonSystemItemDone target:self action:@selector(goBack)];
...
}
每个标签中写入的goBack方法代码
-(void)goBack{
[self.navigationController popToRootViewControllerAnimated:NO];
}
答案 0 :(得分:0)
试试这个..可能会帮到你
NSArray *viewContrlls=[[self navigationController] viewControllers];
for( int i=0;i<[ viewContrlls count];i++)
{
id obj=[viewContrlls objectAtIndex:i];
if([obj isKindOfClass:[rootController class]])
{
[[self navigationController] popToViewController:obj animated:YES];
return;
}
}
答案 1 :(得分:0)
我想出了问题是什么,所以我将回答我自己的问题......我在每个标签中都写了popToRootViewController ..所以当我进入第五个标签然后按回来时,它会回到更多视图选项卡和忘记根视图..所以我从每个选项卡中删除了popToRootViewController并编写了用于在根视图页面中的标签栏声明时弹出视图的代码...例如。标签栏声明,然后设置标签栏导航按钮返回调用某些方法...并在该方法中我写popToRootViewController ......