두 가지 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: 비행 기 를 타다 이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
View의 레이아웃 방법을 AutoLayout에서 따뜻한 손 계산으로 하면 성능이 9.26배로 된 이야기이 기사는 의 15 일째 기사입니다. 어제는 에서 이었습니다. 손 계산을 권하는 의도는 없고, 특수한 상황하에서 계측한 내용입니다 화면 높이의 10 배 정도의 contentView가있는 UIScrollView 레이아...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.