[ios] 스플래시 화면 iOS 7에서 상태 표시 줄 텍스트 색상 변경

모든 뷰 컨트롤러의 상태 표시 줄을 변경하는 방법을 알려주는 스택 오버플로 질문 이 이미 있다는 것을 알고 있습니다. 현재 상태 표시 줄의 색상을 다음과 같이 변경하고 있습니다.

if(IS_IOS7)
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

에서 application:DidFinishLaunching

또한 UIViewControllerBasedStatusBarAppearanceplist 의 값 을 NO. 그러나 스플래시 화면에서는 여전히 상태 표시 줄 텍스트가 검정색으로 표시됩니다.

시작 화면에서 상태 표시 줄 텍스트 색상의 색상을 변경할 수 있습니까?



답변

프로젝트 plist 파일에서 “Status Bar Style”속성을 추가합니다 (키는 UIStatusBarStyle). 그런 다음이 속성의 드롭 다운에 나열된 가능한 모든 값을 무시하고 UIStatusBarStyleLightContent대신 입력 합니다.

그리고 당신은 설정할 필요가 없습니다 UIViewControllerBasedStatusBarAppearanceNO당신이 설정할 수 있습니다, 당신의 plist에 preferredStatusBarStyle보기 컨트롤러에 당신이 원하는합니다.


답변

코드를 작성하지 않고도이 작업을 수행 할 수 있습니다

. 전체 앱에서 상태 표시 줄 텍스트 색상을 흰색으로 만들려면 다음을 수행하십시오.

당신 PLIST 프로젝트 파일을 :

  • 상태 표시 줄 스타일 : UIStatusBarStyleLightContent
  • 컨트롤러 기반 상태 표시 줄 모양보기 : NO
  • 상태 표시 줄은 처음에 숨겨져 있습니다. NO

답변

응용 프로그램 전체에서 밝은 색상 상태 표시 줄을 얻기 위해 다음 작업을 수행 할 수 있습니다.

  1. 프로젝트 네비게이터에서 프로젝트 이름을 선택합니다.
  2. 프로젝트 편집기의 왼쪽 열에있는 목록에서 대상 이름을 선택하십시오.
  3. 프로젝트 편집기 상단에서 일반을 ​​클릭합니다.
  4. 상태 표시 줄 스타일 설정-> 라이트

plist 파일에 다음 값을 추가하십시오.

  1. 상태 표시 줄 스타일-UIStatusBarStyleLightContent
  2. 컨트롤러 기반 상태 표시 줄 모양보기-아니요

이렇게하면 SPLASH SCREEN을 포함하여 응용 프로그램 전체에서 흰색 상태 표시 줄을 얻을 수 있습니다.


답변

UIViewControllerBasedStatusBarAppearanceplist에서를 No로 설정하십시오.

그런 다음 실행 완료 옵션에 다음 코드를 추가하십시오.

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) {

   [application setStatusBarStyle:UIStatusBarStyleLightContent];

    self.window.clipsToBounds =YES;

    self.window.frame =  CGRectMake(0,20,self.window.frame.size.width,self.window.frame.size.height-20);
}

나를 위해 일한이 코드를 따르십시오.


답변

다음은 상태 표시 줄 변경에 대한 Apple 지침 / 지침 입니다.

다음은 상태 표시 줄 스타일을 변경하는 방법입니다.

상태 표시 줄 스타일을 설정 UIViewControllerBasedStatusBarAppearance하려면 애플리케이션 레벨을 NO`.plist ‘파일에서 로 설정 하십시오.

상태 표시 줄 스타일을 설정하려면 뷰 컨트롤러 수준에서 다음 단계를 따르세요.

  1. 설정 UIViewControllerBasedStatusBarAppearanceYES.plist 당신의 UIViewController 수준 만 설정 상태 표시 줄 스타일을 필요로하는 경우, 파일.
  2. viewDidLoad 추가 기능에서- setNeedsStatusBarAppearanceUpdate

  3. 뷰 컨트롤러에서 preferredStatusBarStyle을 재정의하십시오.

override func viewDidLoad() {
    super.viewDidLoad()
    self.setNeedsStatusBarAppearanceUpdate()
}

override var preferredStatusBarStyle: UIStatusBarStyle {
    return .lightContent
}

상태 표시 줄 스타일 설정 수준에 따라 .plist 값을 설정합니다.
여기에 이미지 설명 입력

애플리케이션 시작 중 또는 뷰 컨트롤러의 viewDidLoad 중에 상태 표시 줄의 배경색을 설정할 수 있습니다.

extension UIApplication {

    var statusBarView: UIView? {
        return value(forKey: "statusBar") as? UIView
    }

}

// Set upon application launch, if you've application based status bar
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        UIApplication.shared.statusBarView?.backgroundColor = UIColor.red
        return true
    }
}


or
// Set it from your view controller if you've view controller based statusbar
class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        UIApplication.shared.statusBarView?.backgroundColor = UIColor.red
    }

}

결과는 다음과 같습니다.

여기에 이미지 설명 입력


답변

응용 프로그램 전체에서 밝은 색상 상태 표시 줄을 얻기 위해 다음 작업을 수행 할 수 있습니다.

프로젝트 네비게이터에서 프로젝트 이름을 선택합니다. 프로젝트 편집기의 왼쪽 열에있는 목록에서 대상 이름을 선택하십시오. 프로젝트 편집기 상단에서 일반을 ​​클릭합니다. 상태 표시 줄 스타일 설정-> 라이트


답변