推视图时隐藏标签栏
长时间读者,第一次问阿?推视图时隐藏标签栏
所以基本上我有每个标签导航控制器(它们每一个下井的意见几个层次)我目前隐藏标签栏时,我需要使用此代码标签栏的应用程序:
MyViewController *myVC = [[MyViewController alloc]initWithNibName:@"MyViewController" bundle:nil];
myVC.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:myVC animated:YES];
[myVC release];
然而,这工作得很好,在我还没有在IB创建的导航控制我的标签之一,而是,编程
下面是编程创建导航控制器代码:
UINavigationController * navigationController = [[[UINavigationController alloc] init] autorelease];
self.segmentsController = [[SegmentsController alloc] initWithNavigationController:navigationController viewControllers:viewControllers];
self.segmentedControl = [[UISegmentedControl alloc] initWithItems:[viewControllers arrayByPerformingSelector:@selector(title)]];
self.segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
[self.segmentedControl addTarget:self.segmentsController
action:@selector(indexDidChangeForSegmentedControl:)
forControlEvents:UIControlEventValueChanged];
[self.view addSubview:navigationController.view];
我在这里创建的是一个带有分段控件的导航栏,当我点击一个列表项目时,我想在其中一个分段控件视图(这是一个列表)中推入视图,我想隐藏标签栏,但没有任何使用这个问题开始时的代码,我假设它是如何做的导航控制器,视图推和弹出就好,但TabBar保持可见,当我想隐藏它,没有任何人有任何想法如何我可以隐藏这个标签栏?
感谢您的任何反馈提前!
编辑:作为'新用户',我无法提交图片以帮助查看问题,数字。哦,希望这里发生的事情对你们来说不是太模糊。
很难得到你想要的代码你已经给出的代码(并没有屏幕截图!),但它看起来像问题可能是,你只是添加导航控制器的视图直接作为子视图,而不是将nav控制器添加到视图控制器层次结构中。
因此,而不是
[self.view addSubview:navigationController.view];
使用
[self.navigationController pushViewController: navigationController animated: NO];
当然,这将意味着您的视图控制器本身必须是一个导航控制器堆栈(虽然你总是可以隐藏导航如此直观地看起来它会看起来一样)
试过你的建议,但推navController只是抛出一个空白的屏幕。我的假设是,在视图中我试图隐藏TabBar,它实际上并没有访问标签栏。 (标签栏是整个根视图) – KyleDavidson
奇怪的是,隐藏标签栏代码在使用我在mainWindow.xib中创建的导航控制器的选项卡中工作得很好 – KyleDavidson
你可以用'[viewControllers valueForKeyPath:@“@ unionOfObjects.title”]'替换'[viewControllers arrayByPerformingSelector:@selector(title)]' oid依赖于外部代码。在这里看到答案:http://*.com/a/16569259/296446 – Robert
http://*.com/a/36148064/3078925 –