UIBarStyle 바꾸기 [iOS]

스크린샷 2016-01-25 오후 6.53.41

앱을 개발하면 위의 화면처럼 상단 네비게이션바의 색상을 어두운 색으로 사용할때도 있다. 그럴때 상단의 스테이터스바 글자가 검은색이여서 안보이는데 이럴때 상단 스테이터스바 글자의 색상을 하얀색으로 바꿔서 사용해왔다. 코드는 다음과 같다.

그런데!!!

iOS9 부터 리젝됬다. 아 진짜 왜… 해당 기능을 사용하라는데 헤더파일에 가서 해당 메소드에 주석을 보면 해당 메소드를 오버라이드 해서 사용하라고 써져있다.

그런데! 왜! 해당 메소드가! 콜이! 안되는데!!! 으ㅏ아아아아아ㅏ info.plist에 View controller-based status bar appearance 키값을 NO로 설정해보라고 해서 NO도 해보고 YES도 해보고 빌드를 하고 하고 또 해도 안되는데!! 으악!!!!

스크린샷 2016-01-25 오후 7.29.48

이것저것 시도해보다가 찾은 방법은 이거다.

해당 네비게이션 컨트롤러의 테마를 결정하는데 네비게이션의 테마를 검은색/흰색으로 결정 할 수 있다. 이 네비게이션바의 테마 색상에 반전되서 스테이터스바 색상이 결정된다. 정식방법은 아니지만 색상이 안바뀌어 울고 싶을때는 이런 편법도 좋은거같다. UIBarStyle안에 UIBarStyleBlackOpaque, UIBarStyleBlackTranslucent는 디플리케이티드 되었으니 기본이나 검정색만 사용하도록 하자

 

 

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.