2011. 12. 14. 15:08

[아이폰] 탭바 숨기기

하단의 탭바를 숨기거나 다시 나타가게 하는 방법은 아래와 같다.

// 탭바를 숨기는 메서드
- (void)hideTabbar:(UITabBarController *)tabbarcontroller {
    for (UIView *view in tabbarcontroller.view.subviews) {
        if ([view isKindOfClass:[UITabBar class]]) {
            [view setFrame:CGRectMake(view.frame.origin.x, 480, view.frame.size.width, view.frame.size.height)];
        } 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]]) {           
            [view setFrame:CGRectMake(view.frame.origin.x, 431, view.frame.size.width, view.frame.size.height)];           
        }       
        else {           
            [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 431)];           
        }       
    }
}

사용법은 예를 들어 특정 버튼을 누르면 사라지게 한다면
해당 버튼의 IBAction 메서드에서 [self hideTabbar:self.tabBarController] 식으로 호출해주면 된다.