在 iOS 6 中隐藏标签栏
Posted
技术标签:
【中文标题】在 iOS 6 中隐藏标签栏【英文标题】:Hide TabBar in iOS 6 【发布时间】:2013-12-04 06:30:57 【问题描述】:我想在ios 6
中隐藏我的TabBar,当我编写下面给出的代码时,它在iOS 7
中工作,但在iOS 6
中显示黑线
self.tabBarController.tabBar.hidden = YES;
这是iOS 6
的快照
:
【问题讨论】:
你能在 iOS 6 中仔细检查self.tabBarController
不是 null
吗?
同样的问题和解决方案在这里:***.com/questions/19006545/…
@ShivanRaptor:当我登录self.tabBarController
时,它显示<UITabBarController: 0xc087150>
***.com/questions/19006545/…
【参考方案1】:
试试下面的代码可能对你有帮助...
- (void)hideTabBar:(UITabBarController *) tabbarcontroller
for(UIView *view in tabbarcontroller.view.subviews)
if([view isKindOfClass:[UITabBar class]])
if([UIScreen mainScreen].bounds.size.height==568)
[view setFrame:CGRectMake(view.frame.origin.x, 568 +20, view.frame.size.width, view.frame.size.height)];
else
[view setFrame:CGRectMake(view.frame.origin.x, 480+20, view.frame.size.width, view.frame.size.height)];
else
if([UIScreen mainScreen].bounds.size.height==568)
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 568)];
else
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 480)];
- (void)showTabBar:(UITabBarController *) tabbarcontroller
for(UIView *view in tabbarcontroller.view.subviews)
if([view isKindOfClass:[UITabBar class]])
if([UIScreen mainScreen].bounds.size.height==568)
[view setFrame:CGRectMake(view.frame.origin.x, 519, view.frame.size.width, view.frame.size.height)];
else
[view setFrame:CGRectMake(view.frame.origin.x, 431, view.frame.size.width, view.frame.size.height)];
else
if([UIScreen mainScreen].bounds.size.height==568)
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 519)];
else
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 431)];
【讨论】:
这是什么?(isiPhone5?568:480)+20 我已经在 appdel 中为此实现了 BOOL if ([UIScreen mainScreen].bounds.size.height == 568.0) isiPhone5=YES; @Krunal 抱歉,现在检查答案 老兄但是如何调用这个方法? @Krunal 你在 AppDelegate 视图中创建了你的 UITabBar 吗?【参考方案2】:当你推送视图控制器时,只需使用
yourViewController.hidesBottomBarWhenPushed = YES;
[yourTabbarNavigationController pushViewController:helpViewController animated:YES];
这将删除黑色半透明层,但如果您使用自定义标签栏,那么您也必须显式隐藏这些视图。
【讨论】:
以上是关于在 iOS 6 中隐藏标签栏的主要内容,如果未能解决你的问题,请参考以下文章