1) 아래의 세 줄의 코드 차이점은 무엇입니까?탐색 모음을 숨기시겠습니까?
2) 또한 viewController로 돌아가고 이전 viewController가 동일한 접근 방식으로 숨겨진 navigationBar를 설정 한 경우에도 왜 코드의 세 번째 줄만 작동합니까? [self.navigationController setNavigationBarHidden:NO]
내 모든 가정은 동일한 3 가지 코드로 수행됩니다. 맡은 일?
self.navigationController.navigationBar.hidden = NO;
[self.navigationController.navigationBar setHidden:NO];
[self.navigationController setNavigationBarHidden:NO];
후속 :
을 나는이 코드를 실행해야하는 이유는 때 그것은 단지 배경 이미지 설정되는 작업, 작동
[self.navigationController.navigationBar setBackgroundImage:incorrectAnswerNavigationBarBackgroundImage forBarMetrics:UIBarMetricsDefault];
을, 그렇지 않으면 탐색 모음은 흰색입니다 . 나는 모두에게이 라인이있는 경우
: 나는이 탐색 모음을위한 공간이 아래로 튀어하지만 그냥 흰색입니다 self.navigationController.navigationBar.hidden = NO;
을두면
[self.navigationController setNavigationBarHidden:NO];
self.navigationController.navigationBar.hidden = NO;
을, 어떤 배경 이미지가 없습니다. 두 줄이 모두 있으면 작동하고 배경 이미지가 있습니다.
질문에 시간을내어 주셔서 감사합니다. 나는 일종의 약혼자입니다. 왜 나는 다른 하나 이상을 사용합니까? – drc
첫 번째 두 개를 사용하여 상호 교환 할 수 있습니다. 그것은 스타일 선택입니다. 그러나 네비게이션 막대를 숨기려면 먼저 UINavigationController의 Apple 메서드가 첫 번째 요소를 사용하면 변경 내용을 실행 취소하지 않는다는 보장이 없으므로 Apple이 제공 한 문서화 된 메서드를 사용하여 네비게이션 막대를 숨기려고합니다. 두. 세 번째 것은 navigationBar의 숨겨진 속성을 수동으로 엉망으로 만들지 않으므로 숨길 것이라는 보장이 있습니다. – Nobosi
고마워! 그러나이 메소드 [self.navigationController.navigationBar setBackgroundImage :는 [self.navigationController setNavigationBarHidden : NO] 만 호출하면 작동하지 않습니다. self.navigationController.navigationBar.hidden이 아니라 동일한 속성을 변경했다고 생각합니까? – drc