2017-02-03 1 views
2

로그인에 성공하면 로그인 컨트롤러가 내 사용자를 다른보기 컨트롤러 (ViewControllerB)에 푸시합니다. 즉, ViewControllerB는 이미 메뉴 단추로 포맷 한 UINavigationController에 포함되어 있습니다.iOS - 하나의보기에서만 탐색 바를 숨기시겠습니까?

로그인보기 컨트롤러에서 push segue를 사용하고 있기 때문에이 segue는 내 UINavigationBar를 빈 탐색 표시 줄과 뒤로 가기 버튼 (멋진 것은 아닙니다)으로 덮어 씁니다. 즉 말했다, 나는 다음과 같은 코드를 사용하여 로그인 뷰 컨트롤러에서 탐색 컨트롤러 숨기려 :이 작업을 수행 할 때 다시 버튼으로 원치 않는 탐색 모음 취재

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

loginviewcontroller.m을 내 다른 탐색 표시 줄이 제거되었습니다! 큰. 그러나 다른 화면으로 이동하면 내 탐색 막대가 숨겨집니다 (그리고 사용자가 ViewControllerB를 지나면 표시되도록하고 싶습니다).

성공적인 로그인시 모덜 섹스를 사용해 보았습니다 만, 로그인시 다른 화면으로 이동할 수 없도록했습니다.

어떻게하면 될 수 있습니까?

답변

1

이 추가 :

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

당신은 첫 번째의 ViewController 또는 loginViewController에서 당신이 탐색 모음을 숨길이의 ViewController에서하고 내비게이션 바 숨기기를 해제 할 수 있습니다 다음의 ViewController에 대한 UINavigationController가를 embedin한다. 그것은 나를 위해 일했다.

0

빠른 3

override func viewWillAppear(_ animated: Bool) { 

       //for hide navigation bar in current view 
    super.viewWillAppear(animated) 

    self.navigationController?.setNavigationBarHidden(true, animated: animated) 
} 

override func viewWillDisappear(_ animated: Bool) { 

       //for unhide in navigation bar in next/previous view 
    super.viewWillDisappear(animated) 

    self.navigationController?.setNavigationBarHidden(false, animated: animated) 
} 
관련 문제