iOS 7 - 隐藏 tabBar 并显示 toolBar
Posted
技术标签:
【中文标题】iOS 7 - 隐藏 tabBar 并显示 toolBar【英文标题】:iOS 7 - hiding tabBar and showing toolBar instead 【发布时间】:2014-04-24 23:03:44 【问题描述】:我在隐藏 UITabBar 时遇到问题。我有一个自定义 tabBar,我使用它隐藏:
self.frame = CGRectOffset(tabBarRect, 0, CGRectGetHeight(tabBarRect));
我想显示工具栏而不是 tabBar。一切看起来都很好,但我注意到以前被 tabBar 占用的区域没有响应,尽管我偏移了 tabBar 框架。
所以,我只是把toolBar作为tabBar的一个子视图:
toolBar.frame = CGRectMake(0, CGRectGetHeight(tbv.frame) - toolBar.intrinsicContentSize.height, CGRectGetWidth(self.view.frame), toolBar.intrinsicContentSize.height);
[tbv addSubview:toolBar];
不幸的是,我的 tabBar 比 toolBar 大,所以我不能使用这个解决方案。 我知道我可以将 toolBar 添加到 appDelegate 的 keyWindow 和 tabBar 的顶部,但我想将它放在我的 viewController 中。
有什么方法可以禁用 tabBar 并在当前 viewController 中使用 toolBar 或任何其他带有手势的控件,它是基于导航的应用程序的一部分,带有 tabBar?
谢谢你
【问题讨论】:
【参考方案1】:你可以试试self.hidesBottomBarWhenPushed =YES;
像这样:
self.hidesBottomBarWhenPushed =YES;//hide controller's tabbar
UIViewController *controller =[self.storyboard instantiateViewControllerWithIdentifier:@"MyRequirementParticipateInViewController"];
[self.navigationController pushViewController:controller animated:YES];
self.hidesBottomBarWhenPushed =NO;//when pushed back tabbar would show again.
【讨论】:
感谢 Jack,但我需要使用可见的 tabBar 推送相同的 viewController,然后,如果用户点击按钮,toolBar 应该替换 tabBar。我宁愿不实例化同一个 viewController以上是关于iOS 7 - 隐藏 tabBar 并显示 toolBar的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 中的 navigationController 堆栈中隐藏 tabBar 时,视图在屏幕上显示后向下移动
iOS-实现映客首页TabBar和滑动隐藏NavBar和TabBar