【问题标题】:Hide TabBar in iOS 6在 iOS 6 中隐藏标签栏
【发布时间】:2013-12-04 06:30:57
【问题描述】:

我想在iOS 6 中隐藏我的TabBar,当我编写下面给出的代码时,它在iOS 7 中工作,但在iOS 6 中显示黑线

self.tabBarController.tabBar.hidden = YES;

这是iOS 6的快照

:

【问题讨论】:

标签: ios iphone ios6 ios7 uitabbar


【解决方案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];

这将删除黑色半透明层,但如果您使用自定义标签栏,那么您也必须显式隐藏这些视图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-24
    • 2018-02-24
    • 2013-10-01
    • 1970-01-01
    • 2022-11-12
    • 2015-04-30
    相关资源
    最近更新 更多