메뉴 건너뛰기

app

[xcode] 탭바 숨기기/나타내기/지우기

박영식2011.12.19 06:29조회 수 4397댓글 0

    • 글자 크기
최초 화면을 탭바 없이 선택하기 위해서는 탭바의 마지막에 선택화면을 놓는게 좋다.

그리고 이 선택화면 탭을 없애버리면 꽤나 감쪽같이 원래부터 탭바에 포함되지 않는 메뉴로 생각하게 할 수 있다.

그러기 위해서는 3개의 함수가(메서드)가 필요하다.

탭메뉴가 6개를 넘어가면 모양이 좋지 않으므로 5개로 유지하고 싶어 이렇게 했다.

1/2/3/4/5/6

의 탭바가 존재하고, 최초 6에 있는 화면을 탭바 숨기기를 이용해 보여준다.

사용자가 메뉴를 선택하면, 마지막에 있는 6번째를 지우고 적용시킨다. 물론 선택한 탭도 보여준다.

이 때, 처음에 숨겼던 탭바를 보여준다.

- (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)];            

        }        

    }

}

- (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)deleteTabbar:(UITabBarController *)tabbarcontroller {

    [self.view removeFromSuperview];

        NSMutableArray * vcs = [NSMutableArray

                                arrayWithArray:[self.tabBarController viewControllers]];

        [vcs removeObjectAtIndex:5];

        [self.tabBarController setViewControllers:vcs];

}



실제 버튼에 다음과 같은 명령을 적용하면 된다.


-(IBAction)go:(id)sender{//주일설교

    self.tabBarController.selectedIndex = 1;

    [self showTabbar:self.tabBarController];

    [self deleteTabbar:self.tabBarController];

}

박영식 (비회원)
    • 글자 크기

댓글 달기

박영식
2006.06.18 조회 2524
박영식
2005.03.25 조회 2253
박영식
2003.12.25 조회 4050
박영식
2003.12.19 조회 3610
박영식
2003.11.05 조회 17690
박영식
2003.11.05 조회 2418
박영식
2003.11.05 조회 2627
박영식
2003.11.05 조회 2324
박영식
2003.11.05 조회 2363
박영식
2003.11.05 조회 3387
박영식
2002.06.14 조회 2732
박영식
2002.04.18 조회 3538
박영식
2002.04.18 조회 3435
첨부 (0)
위로