내 응용 프로그램은 어두운 배경이지만 iOS 7에서는 상태 표시 줄이 투명 해졌습니다. 그래서 구석에 녹색 배터리 표시기 만 표시됩니다. 홈 화면에서와 같이 상태 표시 줄 텍스트 색상을 흰색으로 변경하려면 어떻게해야합니까?
답변
-
설정
UIViewControllerBasedStatusBarAppearance
에YES
.plist 파일에. -
에서
viewDidLoad
DO A를[self setNeedsStatusBarAppearanceUpdate];
-
다음 방법을 추가하십시오.
- (UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleLightContent; }
참고 :이 내부 컨트롤러없는 작업을 수행 UINavigationController
, 참조하시기 바랍니다 타이슨의 의견을 아래에 🙂
스위프트 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())
답변
또는 뷰 컨트롤러 기반 상태 표시 줄 모양을 선택 해제 할 수 있습니다.
- 설정
View controller-based status bar appearance
에NO
에Info.plist
. - 요구
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
참고 :이 방법은 iOS9에서 더 이상 사용되지 않습니다. preferredStatusBarStyle
대신 UIViewController를 사용하십시오 . ( Apple 개발자 라이브러리 참조 )
답변
코드를 작성하지 않고도이 작업을 수행 할 수 있습니다!
전체 응용 프로그램에서 상태 표시 줄 텍스트를 흰색으로 만들려면 다음을 수행하십시오.
plist 파일 을 프로젝트 합니다.
- 상태 표시 줄 스타일 :
Transparent black style (alpha of 0.5)
- 컨트롤러 기반 상태 표시 줄보기 :
NO
- 상태 표시 줄은 처음에 숨겨져 있습니다.
NO
답변
참고 : iOS 7/8에서는 가장 많이 답한 답변이 작동하지 않습니다.
Info.plist에서 ‘제어기 기반 상태 표시 줄보기’를 NO로 설정하십시오.
AppDelegate에서 추가
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
에
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
......
...
}
이 솔루션은 iOS 7/8에서 작동합니다
답변
나에게 다른 대답 (및 다른 출처 / 문서)의 모든 것을 사용하는 것은 아무 일도 없었습니다. XIB에서 탐색 막대 스타일을 “검정색”으로 설정하는 것이 도움이되었습니다. 이것은 코드없이 텍스트를 흰색으로 바꿨습니다.
답변
그 중 어느 것도 나를 위해 일하지 않았으므로 여기에 효과적인 해결책이 있습니다 …
에서 Info.plist
, 행을 추가 :
UIViewControllerBasedStatusBarAppearance
값을 설정하십시오 NO
.
그런 다음 AppDelegate in didFinishLaunchingWithOptions
에서 다음 행을 추가하십시오.
[application setStatusBarHidden:NO];
[application setStatusBarStyle:UIStatusBarStyleLightContent];