내비게이션 컨트롤러에서 푸시 할 때 내비게이션 바를 숨기는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1617565

문제

상단 막대를 숨기는 방법 UIViewController 내비게이션 컨트롤러를 사용하여 푸시 할 때PushViewController ? 도와주세요?

도움이 되었습니까?

해결책

이 코드를 내비게이션 표시 줄을 숨기려는 뷰 컨트롤러에 넣으십시오.

- (void) viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    [self.navigationController setNavigationBarHidden:YES animated:animated];
}

그리고 당신은 또한 당신의 요구에 따라 이것을 거기에 고수하고 싶을 수도 있습니다.

- (void) viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    [self.navigationController setNavigationBarHidden:NO animated:animated];
}

다른 팁

다음은 다음과 같은 방법입니다 스위프트 3:

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    self.navigationController?.setNavigationBarHidden(true, animated: animated)
}

추신 : 애니메이션을 설정하면 false, 검은 색 막대가 푸시에 나타납니다. 그러나 그것이 설정 될 때 true 실크처럼 매끄 럽습니다!

iOS 8 은이 작업이 작동 할 수 있습니다.

CATransition* transition = [CATransition animation];
        transition.duration = 0.3;
        transition.type = kCATransitionPush;
        transition.subtype = kCATransitionFromRight;
        [self.navigationController.view.layer addAnimation:transition forKey:kCATransition];
        [self.navigationController setNavigationBarHidden:TRUE animated:FALSE];
        [self.navigationController pushViewController:productViewObj animated:FALSE];
        [productViewObj.navigationController setNavigationBarHidden:TRUE animated:FALSE];
        [productViewObj release];
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top