iOS에서 탐색 모음으로보기의 탭 모음을 숨기거나 표시하는 방법은 무엇입니까?
탐색 모음과 탭 모음이있는보기가 있습니다. 내가 원하는 것은 특정보기에서 탭 표시 줄을 숨기고 사용자가보기를 변경할 때 탭 표시 줄을 다시 표시하는 것입니다.
탭 표시 줄을 숨기는 코드 스 니펫을 보았습니다.
-(void)makeTabBarHidden:(BOOL)hide
{
    // Custom code to hide TabBar
    if ( [tabBarController.view.subviews count] < 2 ) {
        return;
    }
    UIView *contentView;
    if ( [[tabBarController.view.subviews objectAtIndex:0] isKindOfClass:[UITabBar class]] ) {
        contentView = [tabBarController.view.subviews objectAtIndex:1];
    } else {
        contentView = [tabBarController.view.subviews objectAtIndex:0];
    }
    if (hide) {
        contentView.frame = tabBarController.view.bounds;       
    }
    else {
        contentView.frame = CGRectMake(tabBarController.view.bounds.origin.x,
             tabBarController.view.bounds.origin.y,
             tabBarController.view.bounds.size.width,
             tabBarController.view.bounds.size.height - tabBarController.tabBar.frame.size.height);
    }
    tabBarController.tabBar.hidden = hide;
}
 
에서 : http://nickwaynik.com/iphone/hide-tabbar-in-an-ios-app/
탭 바를 숨기고 싶은 뷰에서 이것을 호출합니다.
[self makeTabBarHidden:YES];
 
해당보기에서 표시 / 숨길 때 제대로 작동하지만 이전보기로 다시 이동하면 탭 표시 줄도 숨겨집니다. 내가보기의에서 그 함수를 호출 시도 viewDidUnload, viewWillDisappear, viewDidDisappear기능을하지만 아무 일도 발생하지 않습니다. 함수가 이전보기의 호출되는 경우에도 마찬가지입니다 viewDidLoad, viewWillAppear, viewDidAppear기능.
대신 UIViewController.hidesBottomBarWhenPushed를 설정할 수 있습니다.
DetailViewController *detailViewController = [[DetailViewController alloc] init];
detailViewController.hidesBottomBarWhenPushed = YES;
[[self navigationController] pushViewController:detailViewController animated:YES];    
[detailViewController release];
스토리 보드의 인터페이스 빌더에서도이 작업을 수행 할 수 있습니다. 탭 바를 숨기고 자하는 View Controller를 선택한 다음 "Hide Bottom Bar on Push"를 선택합니다.
방금 UITabBarController에 범주를 만들었으므로 선택적으로 애니메이션으로 TabBar를 숨길 수 있습니다.
https://github.com/idevsoftware/Cocoa-Touch-Additions/tree/master/UITabBarController_setHidden
그것은 추가 tabBarHidden(속성과 isTabBarHidden그 게터 등) 및 - (void)setTabBarHidden:(BOOL)hidden animated:(BOOL)animated방법.
self.navigationController.hidesBottomBarWhenPushed=YES;
 
당신이 행을 추가 viewdidload하거나 viewWillAppear이 당신에게 바닥에서 탭을 숨 깁니다.
숨기기 / 표시를 위해 이것을 시도하십시오.
-(void)viewWillDisappear:(BOOL)animated{
    self.hidesBottomBarWhenPushed = NO;
}
-(void)viewWillAppear:(BOOL)animated{
    self.hidesBottomBarWhenPushed = YES;
}
Swift 3 : viewwillAppear 또는 viewdidappear에서 탭바 숨기기 설정
self.tabBarController?.tabBar.isHidden = true
Xib 또는 스토리 보드 파일에서보기 컨트롤러를 클릭하면 속성 관리자에서 동일한 속성을 사용할 수 있습니다.
아래 코드를 사용할 수 있지만 tabBar뒤로 이동할 때 숨겨져 있습니다.
    //hide tabbar
    //self.tabBarController?.tabBar.isHidden = true
 
더 나은 방법 은 "Hide Bottom Bar on Push"내가 한 것처럼 main.storyboard 확인 을 통해 수행하는 것입니다.
'Development Tip' 카테고리의 다른 글
| 변수를 항상 계산 결과와 같게 만들려면 어떻게해야합니까? (0) | 2020.12.09 | 
|---|---|
| "std :: size_t"가 C ++에서 의미가 있습니까? (0) | 2020.12.09 | 
| 파일의 모든 줄 시작 부분에 숫자 추가 (0) | 2020.12.09 | 
| ORA-00911 : 잘못된 문자 (0) | 2020.12.09 | 
| 데이터 프레임에서 그룹별로 고유 / 고유 값 계산 (0) | 2020.12.09 | 

