질문

 

내 응용 프로그램은 어두운 배경이지만 iOS 7에서는 상태 표시 줄이 투명 해졌습니다. 그래서 구석에 녹색 배터리 표시 만 표시됩니다. 홈 화면에서와 같이 상태 표시 줄 텍스트 색상을 흰색으로 변경하려면 어떻게해야합니까?

 

답변

 

.plist 파일에서 UIViewControllerBasedStatusBarAppearance를 YES로 설정하십시오.

viewDidLoad에서 [self setNeedsStatusBarAppearanceUpdate]를 수행하십시오. 다음 방법을 추가하십시오.

- (UIStatusBarStyle)preferredStatusBarStyle
{ 
    return UIStatusBarStyleLightContent; 
}

 

참고 : UINavigationController 내부의 컨트롤러에서는 작동하지 않습니다. 아래 Tyson의 의견을 참조하십시오 :)

Swift 3-UINavigationController 내부에서 컨트롤러를 작동시킵니다. 이 코드를 컨트롤러 안에 추가하십시오.

 

// Preferred status bar style lightContent to use on dark background.
// Swift 3
override var preferredStatusBarStyle: UIStatusBarStyle {
    return .lightContent
}

 

스위프트 5와 스위프트 UI SwiftUI의 경우 HostingController.swift라는 새 빠른 파일을 작성하십시오.

 

import Foundation
import UIKit
import SwiftUI

class HostingController: UIHostingController<ContentView> {
    override var preferredStatusBarStyle: UIStatusBarStyle {
        return .lightContent
    }
}

 

그런 다음 SceneDelegate.swift에서 다음 코드 줄을 변경하십시오.

 

window.rootViewController = UIHostingController(rootView: ContentView())

 

마지막

 

window.rootViewController = HostingController(rootView: ContentView())

+ Recent posts