두 가지 iOS 가 내 비게 이 션 표시 줄 을 숨 기 는 정확 한 방법

2181 단어 iOS탐색 표시 줄
간단 한 소개
프로젝트 에서 홈 페이지 상단 에 자주 부 딪 히 는 것 은 무한 윤방송 이 므 로 맨 위 에 표시 해 야 합 니 다.어떤 것 은 네 비게 이 션 표시 줄 을 투명 하 게 설정 하 는 등 일련의 방법 이 있 습 니 다.이것 은 제3자 의 도움 을 받 거나 아예 간단 하고 거 칠 게 네 비게 이 션 표시 줄 을 숨 길 수 있 습 니 다.그러나 push 가 다음 페이지 로 넘 어 갈 때 네 비게 이 션 표시 줄 이 필요 합 니 다.어떻게 하 는 지 두 가지 방법 을 알려 드 립 니 다.

첫 번 째 방법
-여기 서 네 비게 이 션 바 를 애니메이션 으로 숨겨 야 합 니 다.이렇게 하면 미끄럼 으로 제스처 를 되 돌 릴 때 효과 가 가장 좋 고 위의 그림 과 일치 합 니 다.이렇게 하면 tabBar 를 전환 할 때 네 비게 이 션 바 가 위로 사라 지 는 애니메이션 이 있다 는 단점 이 있 습 니 다.

- (void)viewWillAppear:(BOOL)animated {
 [super viewWillAppear:animated];

 [self.navigationController setNavigationBarHidden:YES animated:YES];
}

- (void)viewWillDisappear:(BOOL)animated {
 [super viewWillDisappear:animated];

 [self.navigationController setNavigationBarHidden:NO animated:YES];
}


두 번 째 방법
self 를 네 비게 이 션 컨트롤 러 의 에이전트 로 설정 하고 프 록 시 방법 을 실현 합 니 다.디 스 플레이 컨트롤 러 에 네 비게 이 션 표시 줄 숨 김 과 디 스 플레이 를 설정 합 니 다.이런 방식 을 사용 하면 미끄럼 과 제스처 를 완벽 하 게 맞 출 뿐만 아니 라 tabBar 를 전환 할 때 네 비게 이 션 표시 줄 의 동적 숨 김 문 제 를 해결 할 수 있 습 니 다.

@interface WLHomePageController () <UINavigationControllerDelegate>

@end

@implementation WLHomePageController

#pragma mark - lifeCycle
- (void)viewDidLoad {
 [super viewDidLoad];

 //            self
 self.navigationController.delegate = self;
}

#pragma mark - UINavigationControllerDelegate
//        
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
 //               
 BOOL isShowHomePage = [viewController isKindOfClass:[self class]];

 [self.navigationController setNavigationBarHidden:isShowHomePage animated:YES];
}

Demo: 비행 기 를 타다
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기