隐藏UITabBarController

来源:互联网 发布:知乎到底是一帮什么人 编辑:程序博客网 时间:2024/06/02 19:43
这样的代码: 
[self.tabBarController.tabBar setHidden:YES]; 
虽然可以隐藏UITabBarController,但是会留一个空白在原来的位置,这并不是我们想要的。本代码片段能很好解决这个问题。

- (void)setTabBarHidden:(BOOL)hidden{
    UIView*tab = self.tabBarController.view;
     
    if([tab.subviewscount] < 2) {
        return;
    }
    UIView*view;
     
    if([[tab.subviewsobjectAtIndex:0]isKindOfClass:[UITabBarclass]]) {
        view = [tab.subviewsobjectAtIndex:1];
    }else{
        view = [tab.subviewsobjectAtIndex:0];
    }
     
    if(hidden) {
        view.frame= tab.bounds;
    }else{
        view.frame= CGRectMake(tab.bounds.origin.x, tab.bounds.origin.y, tab.bounds.size.width, tab.bounds.size.height);
    }
    self.tabBarController.tabBar.hidden= hidden;
}

原创粉丝点击