모든 뷰 컨트롤러의 상태 표시 줄을 변경하는 방법을 알려주는 스택 오버플로 질문 이 이미 있다는 것을 알고 있습니다. 현재 상태 표시 줄의 색상을 다음과 같이 변경하고 있습니다.
if(IS_IOS7)
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
에서 application:DidFinishLaunching
또한 UIViewControllerBasedStatusBarAppearance
plist 의 값 을 NO
. 그러나 스플래시 화면에서는 여전히 상태 표시 줄 텍스트가 검정색으로 표시됩니다.
시작 화면에서 상태 표시 줄 텍스트 색상의 색상을 변경할 수 있습니까?
답변
프로젝트 plist 파일에서 “Status Bar Style”속성을 추가합니다 (키는 UIStatusBarStyle
). 그런 다음이 속성의 드롭 다운에 나열된 가능한 모든 값을 무시하고 UIStatusBarStyleLightContent
대신 입력 합니다.
그리고 당신은 설정할 필요가 없습니다 UIViewControllerBasedStatusBarAppearance
에 NO
당신이 설정할 수 있습니다, 당신의 plist에 preferredStatusBarStyle
보기 컨트롤러에 당신이 원하는합니다.
답변
코드를 작성하지 않고도이 작업을 수행 할 수 있습니다
. 전체 앱에서 상태 표시 줄 텍스트 색상을 흰색으로 만들려면 다음을 수행하십시오.
당신 PLIST 프로젝트 파일을 :
- 상태 표시 줄 스타일 :
UIStatusBarStyleLightContent
- 컨트롤러 기반 상태 표시 줄 모양보기 :
NO
- 상태 표시 줄은 처음에 숨겨져 있습니다.
NO
답변
응용 프로그램 전체에서 밝은 색상 상태 표시 줄을 얻기 위해 다음 작업을 수행 할 수 있습니다.
- 프로젝트 네비게이터에서 프로젝트 이름을 선택합니다.
- 프로젝트 편집기의 왼쪽 열에있는 목록에서 대상 이름을 선택하십시오.
- 프로젝트 편집기 상단에서 일반을 클릭합니다.
- 상태 표시 줄 스타일 설정-> 라이트
plist 파일에 다음 값을 추가하십시오.
- 상태 표시 줄 스타일-UIStatusBarStyleLightContent
- 컨트롤러 기반 상태 표시 줄 모양보기-아니요
이렇게하면 SPLASH SCREEN을 포함하여 응용 프로그램 전체에서 흰색 상태 표시 줄을 얻을 수 있습니다.
답변
UIViewControllerBasedStatusBarAppearance
plist에서를 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 ‘파일에서 로 설정 하십시오.
상태 표시 줄 스타일을 설정하려면 뷰 컨트롤러 수준에서 다음 단계를 따르세요.
- 설정
UIViewControllerBasedStatusBarAppearance
에YES
에.plist
당신의 UIViewController 수준 만 설정 상태 표시 줄 스타일을 필요로하는 경우, 파일. -
viewDidLoad 추가 기능에서-
setNeedsStatusBarAppearanceUpdate
-
뷰 컨트롤러에서 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
}
}
결과는 다음과 같습니다.
답변
응용 프로그램 전체에서 밝은 색상 상태 표시 줄을 얻기 위해 다음 작업을 수행 할 수 있습니다.
프로젝트 네비게이터에서 프로젝트 이름을 선택합니다. 프로젝트 편집기의 왼쪽 열에있는 목록에서 대상 이름을 선택하십시오. 프로젝트 편집기 상단에서 일반을 클릭합니다. 상태 표시 줄 스타일 설정-> 라이트