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 |