2014-12-18 1 views
1

내 응용 프로그램은 전체적으로 흰색 상태 표시 줄 텍스트를 사용합니다. 나는 아래 다양한 설정을 통해이 작업을 수행했습니다iOS 상태 표시 줄이 사진 프레임 워크에 의해 검은 색으로 바뀌 었습니다.

의 Info.plist에서 1/내가 설정 :보기 컨트롤러 기반 상태 표시 줄의 모양을 "NO"로

에서

2/- 내가 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]을 설정 (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions; ,

- (UIStatusBarStyle) preferredStatusBarStyle { 
    return UIStatusBarStyleLightContent; 
} 
스토리 보드에서

4/내가

그래서 탐색 바 스타일에 "블랙"으로 설정 다른의 톤 :

3

는/나는 내가 여기에 대해 요구하고있는 VC에 다음과 같은 구현 간단한 상태 표시 줄이 흰색 텍스트로 유지되도록하는 방법. 사용자가 사진 라이브러리로 이동하거나 사용자가 사진을 찍을 때를 제외하고는 전체적으로 작동합니다. 물론 블랙 상태 표시 줄을 사용하는 Apple 프레임 워크를 시작합니다. 그 컨트롤러에 대해서는 다시 Apple에서 지시 한대로 괜찮습니다. 그러나 사용자가 이미지를 취소하거나 선택하고 내 컨트롤러로 돌아 오면 상태 표시 줄은 검은 색으로 유지됩니다. 반환 할 때 다음 시도했다 : [self setNeedsStatusBarAppearanceUpdate]하지만 또한 작동하지 않습니다.

Apple에서 제어하는 ​​사진 선택기보기에서 상태 표시 줄을 반환 한 후 상태 표시 줄을 흰색 텍스트로 되돌리려면 어떻게합니까? 나는이 동일한 문제가 7.1에서 발생한다는 것을 보여 주지만 iOS 8에서 일하고 있습니다. 이것은 시뮬레이터와 실제 장치 모두에서 발생합니다.

답변

2

이미지 선택기가 반환하는 VC 내에서 위의 2 단계에서 수행 한 작업을 반복적으로 수행하는 답을 발견했습니다. 그래서 viewWillAppear에서 저는 다음을 실행합니다 : [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 다시. 상태 표시 줄을 흰색으로 유지하는 방법은 여러 가지가 있지만 지금은 모든 상황에서 사용됩니다.

0

나는 그것이 UIImagePicker과 그 위임에 대한 코드를 작성 UINavigationController의 대표입니다 willShowViewController 방법을 추가 내 해결로 문제를 해결할 수 같아요. 상태 표시 줄 스타일이 LightContent로 설정되었습니다.

- (void)navigationController:(UINavigationController *)navigationController 
     willShowViewController:(UIViewController *)viewController 
        animated:(BOOL)animated { 

    if (([navigationController isKindOfClass:[UIImagePickerController class]] && 
     (((UIImagePickerController *)navigationController).sourceType == UIImagePickerControllerSourceTypeCamera)) || (((UIImagePickerController *)navigationController).sourceType == UIImagePickerControllerSourceTypePhotoLibrary)) 
    { 
     [[UIApplication sharedApplication] setStatusBarHidden:NO]; 
     [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 

    } 
} 
+0

제안 해 주셔서 감사합니다. 사실 조금 더 솔직한 해결책을 찾았습니다. 나는 그것을 게시 할 것이다. – C6Silver

관련 문제