现在的位置: 首页 > 综合 > 正文

Iphone隐藏和显示TabBar的方法

2014年01月31日 ⁄ 综合 ⁄ 共 1224字 ⁄ 字号 评论关闭

1.隐藏TabBar:

- (void)hideTabBar {
    if (self.tabBarController.tabBar.hidden == YES) {
        return;
    }
    UIView *contentView;
    if ( [[self.tabBarController.view.subviews objectAtIndex:0] isKindOfClass:[UITabBar class]] )
        contentView = [self.tabBarController.view.subviews objectAtIndex:1];
    else
        contentView = [self.tabBarController.view.subviews objectAtIndex:0];
    contentView.frame = CGRectMake(contentView.bounds.origin.x,  contentView.bounds.origin.y,  contentView.bounds.size.width, contentView.bounds.size.height + self.tabBarController.tabBar.frame.size.height);        
    self.tabBarController.tabBar.hidden = YES;
    
}

2.显示TabBar:

- (void)showTabBar

{
    if (self.tabBarController.tabBar.hidden == NO)
    {
        return;
    }
    UIView *contentView;
    if ([[self.tabBarController.view.subviews objectAtIndex:0] isKindOfClass:[UITabBar class]])
        
        contentView = [self.tabBarController.view.subviews objectAtIndex:1];

    else
        
        contentView = [self.tabBarController.view.subviews objectAtIndex:0];      
    contentView.frame = CGRectMake(contentView.bounds.origin.x, contentView.bounds.origin.y,  contentView.bounds.size.width, contentView.bounds.size.height - self.tabBarController.tabBar.frame.size.height);
    self.tabBarController.tabBar.hidden = NO;
    
}

3.如果定义了上面两个方法,在viewDidAppear:方法里面就可以调用了

-(void)viewDidAppear:(BOOL)animated{
    //[self hideTabBar];
    [self showTabBar];
}

抱歉!评论已关闭.