7

안녕, 여기 내 문제는 내가 방법을 가지고 방법 [자기 configureUINavigationControllerStlyle] 내 상태 표시 줄 및 내 탐색 모음 모양을 구성합니다 (내 응용 프로그램에서 함께 작동하는 UINavigationController 및 UITabbarController 있습니다).상태 표시 : 내 AppDeleagate의 <strong>didFinishLaunchingWithOptions에서</strong></p> <p>: 아이폰 OS 8

모든 큰 일 "NO"에보기 컨트롤러 기반 상태 표시 줄의 모양을하고 내 응용 프로그램 내부의 모든 컨트롤러는 파란색 배경으로 자신의 상태 막대가 내의 Info.plist에서 또한

-(void) configureUINavigationControllerStlyle { 

UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController; 

UINavigationController *navigationController = (UINavigationController *)[tabBarController.viewControllers objectAtIndex:0]; 

navigationController.navigationBar.translucent = NO; 

[[UINavigationBar appearance] setBarTintColor: [CustomColor getAwesomeColor:@"colorBlue3_1"]]; 

[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]]; 

[[UINavigationBar appearance] setTitleTextAttributes:@{ 
NSForegroundColorAttributeName : [UIColor whiteColor], 
NSFontAttributeName: [UIFont fontWithName:@"AvenirNext-DemiBold" size:17.0] 
}]; 

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 

} 

내가 설정 및 흰색 텍스트 색상. 하지만 uisearchcontroller와 uisearchresults 컨트롤러는 아닙니다.

내 루트 TableViewController은 다음과 같습니다

https://www.dropbox.com/s/oqcozos89x9yqhg/Screen%20Shot%202014-12-11%20at%2016.21.06.jpg?dl=0

내가 내 애플 리케이션에 searchController 및 searchResultsController을 통합. 로직이 잘 작동하지만 searchController 및 searchResultController 내부에서 상태 표시 줄을 처리하는 방법을 이해하지 못합니다. AppDelegate.m 파일에서 만든 상태 표시 줄에 스타일을 사용하지 않습니다.

내 searchController 및 searchResultsController는 다음과 같습니다 (상태 표시 줄이 흰색으로 바뀌고 상태 표시 줄의 텍스트 색상도 흰색이되었지만 내 상태 표시 줄이 내 홈보기 컨트롤러와 동일한 색상 (파란색 배경 및 흰색 텍스트 색상 .)

https://www.dropbox.com/s/26skdz7gvehmwl4/Screen%20Shot%202014-12-11%20at%2016.21.16.png?dl=0

또 다른 버그 : 내가 사용하는 경우 내 AppDelegate에의

navigationController.navigationBar.translucent = NO; 

- 그것은 "점프 또는 아래로 스트레칭"내 집 tablevi의 원인 검색 컨트롤러를 사용한 후 자세히보기 컨트롤러에서 돌아갈 때의 ew. 반투명 속성을 설정하지 않으면 "점프"하지 않습니다.

어쩌면 누군가가 아이폰 OS에 searchController을 사용하는 경우이 상태 표시 줄의 색상 문제를 해결하는 방법을 알고 8.

나는 기본 색상 (내 AppDelegate에 대한 변경을 추가하지 않음), 모든 것이 잘 작동 사용하는 경우 만 내 앱에서 사용자 정의 상태 표시 줄 색이 필요합니다.

+0

. 내 해결 방법을 참조하십시오 : http : // stackoverflow.com/a/30225864/235297 –

답변

0

상태 표시 줄에 흰색 텍스트를 넣으려면 info.plist 안에 Status bar styleOpaque black style 또는 Transparent black style으로 설정되어 있는지 확인하십시오.

나머지 코드에서도 작동합니다.

6

당신과 같이 preferredStatusBarStyleUISearchController를 서브 클래스 화해, 오버라이드 (override) 할 필요가 있습니다 : 그것은 버그

- (UIStatusBarStyle)preferredStatusBarStyle 
{ 
    return UIStatusBarStyleLightContent; 
} 
+1

UISearchController 하위 클래스에 모두 추가하는 경우'preferredStatusBarStyle'을 확장으로 추가하는 것도 고려해 볼 수 있습니다. – MathewS

+4

예, 확장 작품'''확장 UISearchController! {preferredStatusBarStyle (FUNC \t 공공 재정의) -> UIStatusBarStyle는 { \t \t 반환 .LightContent \t} }''' –