1

UINavigationController을 사용하고 내 앱 전체에 탐색 모음을 표시하고 있지만 상태 표시 줄을 사용자에게 표시하고 싶지는 않습니다. 내 문제는 상태 표시 줄을 숨기면 내비게이션 막대 크기가 커서 전체 탐색 모음의 모양을 나타낼 정도로 크지 않다는 것입니다.상태 표시 줄을 단색으로 설정하거나 상태 표시 줄에 하위보기를 추가해야합니다.

나는 다음 중 하나를 수행하고 싶습니다 :

  1. 는 상태가 단색 바합니다. 이것은 상태 표시 줄의 내용을 표시하지 않으며, 문자 그대로 색상 만됩니다.

  2. "상태"콘텐츠를 모두 포함 할 수 있도록 상태 표시 줄에 하위보기를 추가하십시오. 이 하위 뷰는 단색 인 UIView 일뿐입니다.

이렇게하면 상태 표시 줄의 내용을 실제로 표시 할 필요없이 상단에 전체 크기의 "탐색 모음"을 표시 할 수 있습니다.

편집 :

나는 운이 다음과 같은 UIWindow 해결 방법을 시도하고있다. 다음 코드는 내보기 컨트롤러의 viewWillAppear: 방법 중 하나 내에서 호출되는 :이 동작하지 않습니다

UIWindow *statusWindow = [[UIWindow alloc] initWithFrame:CGRectMake(0, 0, 320, 20)]; 
statusWindow.windowLevel = UIWindowLevelStatusBar + 1; 
statusWindow.hidden = NO; 
statusWindow.backgroundColor = [UIColor redColor]; 
[statusWindow makeKeyAndVisible]; 

. 상태 표시 줄을 숨기거나 표시해야합니까? 나는 위의 코드를 숨기고 그것을 보여 주려고 노력했다. 빨간 색의 UIWindow은 결코 화면에 나타나지 않는다.

+0

흰색 (밝은 내용) 또는 검정색 (기본값) 이외의 다른 상태로 변경하려는 경우 상태 표시 줄 색 변경이 작동하지 않습니다. 네가 원한다면 나 한테 알려줘. –

답변

1

나는 그것을 마침내 발견했습니다. 이 코드는 완벽하게 작동합니다.

self.statusWindow = [[UIWindow alloc] initWithFrame:CGRectMake(0, 0, 320, 20)]; 
self.statusWindow.windowLevel = UIWindowLevelStatusBar + 1; 
self.statusWindow.hidden = NO; 
self.statusWindow.backgroundColor = [UIColor redColor]; 
[self.statusWindow makeKeyAndVisible]; 

키는 statusWindow이며 로컬 변수 일 수 없습니다. 실제 속성이어야하며, 그렇지 않으면 메모리에서 할당이 해제됩니다.

가치가있는 경우에도 makeKeyAndVisible으로 전화하지 않아도이 기능을 사용할 수 있습니다.

0

당신이 할 수있는 유일한 일은 색깔을 바꾸거나 그것을 숨기는 것입니다. 하위보기를 추가하거나 숨길 수는 없습니다.

+0

단색으로 변경하고 "상태"콘텐츠를 표시하지 않으려면 어떻게해야합니까? – user3344977

+0

죄송합니다. 분명히해야합니다. 색상을 변경할 수 있습니다. 그러나 내용은 보입니다. 내용을 숨기고 색상을 표시하는 방법은 없습니다. – Tander

관련 문제