IOS-第五和第六个选项卡选项
在我的tabBar应用程序中,我在视图顶部有一个导航栏。但是,我有4个以上的选项卡栏,因此出现了带有选择其他选项卡栏选项的TableView 如果最终用户决定更改其顺序,是否仍然可以隐藏前4个视图的导航 我是这样想的,但是代码中的if语句是不正确的IOS-第五和第六个选项卡选项,ios,uinavigationcontroller,uitabbarcontroller,Ios,Uinavigationcontroller,Uitabbarcontroller,在我的tabBar应用程序中,我在视图顶部有一个导航栏。但是,我有4个以上的选项卡栏,因此出现了带有选择其他选项卡栏选项的TableView 如果最终用户决定更改其顺序,是否仍然可以隐藏前4个视图的导航 我是这样想的,但是代码中的if语句是不正确的 if([[self.tabBarController viewControllers] objectAtIndex:5]) { [_navBar setHidden:YES]; } else { [_navBar setHid
if([[self.tabBarController viewControllers] objectAtIndex:5])
{
[_navBar setHidden:YES];
}
else {
[_navBar setHidden:NO];
}
如果担心用户重新排序选项卡,您可能会考虑的另一个选项是创建自定义MoreViewController(并且不需要重新排序)。请参见答案。更改选项卡栏中视图的顺序后,您应该像这样隐藏导航栏
[self.tabBarController.viewControllers
enumerateObjectsUsingBlock:^(id obj, NSUInteger index, BOOL *stop)
{
if (index < 4)
{
UIViewController *vc = (UIViewController *)obj;
[vc.navigationController setNavigationBarHidden:YES];
}
}];
[self.tabBarController.viewControllers
enumerateObjectsUsingBlock:^(id对象,整数索引,布尔*停止)
{
如果(指数<4)
{
UIViewController*vc=(UIViewController*)对象;
[vc.navigationController设置NavigationBarHidden:是];
}
}];
您应该在自定义对象中实现UITabBarController:DiEndCustomingViewController:changed:UITabBarController协议的方法,并将其设置为UITabBarController的委托。在这里阅读:好吧,我会研究一下——在这种情况下,重新订购并不重要,但如果最终用户有选择的话,会更好。