2010-01-16 5 views
2

나는 루트보기
[[self navigationController] setNavigationBarHidden:YES animated:NO];topBar에 해당하는 hidesBottomBarWhenPushed?

내가 탐색 표시 줄을 표시 할 필요가 않습니다이에 밀고하고있어보기를 통해 위쪽 탐색 모음을 표시하지 않습니다있는 UINavigationController가 있고, 저는 현재 사용하고 위의 메서드를 사용하여 표시 한 다음보기가 팝업되면 다시 숨 깁니다. 이로 인해 이상한 일이 생기고 나는 그 일을 계속하고 싶지 않습니다.

EDIT : 명확한 설명을 위해, 지금은 밀어 넣기보기에서 [[self navigationController] setNavigationBarHidden:NO animated:NO];을 사용하고 있으며 내비게이션 표시 줄과 새보기 모두에 navigationBar가 나타나며 그 플래시가 발생하는 것은 상당히 지저분 해 보입니다. alt text

그리고 내가 좋아하는 것 무엇 : 여기에 현재 무슨 일이 일어나고 있는지의 I 탐색 막대가 이미 표시 될 때까지 뷰가 루트에 밀려, 그리고되고있는 동안하고 싶은 것을 대신 alt text

보기, 마치 hidesBottomBarWhenPushed 속성의 동작과 유사합니다.

누구나 올바른 방향으로 나를 가리킬 수 있습니까?

답변

1

당신은 무엇을 넣을 경우 : 밀어 뷰 컨트롤러의 -viewDidLoad 방법

[[self navigationController] setNavigationBarHidden:NO animated:NO]; 

?

+0

내가 원하는 것 : ( 위 이미지를 참조하십시오. – kbanman

+0

실제로 답변을 애니메이션으로 설정하면 : YES가 트릭을 수행합니다. 알려 드리겠습니다. – kbanman

1

애니메이션을 허용하면 전환이 훨씬 부드럽고 (이상한 깜박임이 없음) 나는 눈치 챘습니다. 애니메이션 깃발을 예 (YES)로 전환하고 그 일이 부드럽게되는지보십시오.

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

또한, 나는이 코드에서 그 일을하기보다는 내 네비게이션 컨트롤러에 대한 IB 관리자의 체크 박스 "탐색 막대를 표시"선택을 취소합니다. 그런 식으로 기본 상태가 xib에서 해동 될 때 숨겨집니다. 코드는 효과적으로 동일한 작업을 수행해야하지만 동일한 작업을 구현할 때 사용자가 설명하는 문제가 없으므로 시도해 볼 가치가 있습니다.

0

두 개의 댓글입니다. 나는 똑같은 일을하고 있으며, 움직일 때 더 잘 작동하는 것 같아요. 또한 viewWillAppear 또는 viewDidAppear에서 호출해야합니다. 개인적으로 나는 viewDidAppear를 사용하고 있습니다. 예를 들자면 그 모양이 꽤 좋다고 생각합니다.

응용 프로그램 수준 설정을 설정하기 때문에보고있는 문제를 피하려면 적절한시기에 전화를해야합니다.