[iOS] Navigation Controller 에서 Status Bar 색상 변경 안될 때 해결법
ref : https://terry-some.tistory.com/110
바뀐 Status Bar 모습
수정 전 ( 시간과 와이파이 상태가 검정색이어서 보이지 않음 )
수정 후
변경 방법
- 결론부터 말하면, "preferredStatusBarStyle 을 건드려서 어쩌구... setNeedsStatusBarAppearanceUpdate() 를 호출해서 어쩌구..."
싹 다 필요없고.
- 이 코드 한줄로 해결했다.
self.navigationController?.navigationBar.barStyle = .black
- Info.list 에서 아무 사항도 건드리지 않으면, 디폴트로 알아서 배경이 어둡다면 글씨가 하얗게 된다. 그래서 navigationBar.barstyle 을 black 으로 설정하면 자동으로 하얗게 변하게 된다.
( + 2022/02/08 추가 )
앱을 종료 한뒤 다시 실행하면, 생태바 글씨 색깔이 다시 검정으로 변하는 버그를 발견했다. iOS 13.0 이후로 지원되는 overrideUserInterfaceStyle 을 이용해서 해결했다. UIKit 에서 앱을 다크모드로 간주하고, 상태바 글씨를 하얗게 만들어준다.override func viewDidLoad() { super.viewDidLoad() overrideUserInterface = .dark }
iOS 13.0 은 iPhone 6s, 6s 플러스 이후에 출시된 모든 iPhone 기종에서 지원된다.
Author And Source
이 문제에 관하여([iOS] Navigation Controller 에서 Status Bar 색상 변경 안될 때 해결법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@heyksw/iOS-Navigation-Controller-에서-Status-Bar-색상-변경저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)