본문 바로가기
Xcode/IOS

IOS)Navigation과 StatusBar 변경하기!

by 후르륵짭짭 2020. 6. 27.
728x90
반응형

안녕하세요. 후르륵짭짭 입니다.

첫 개발 글인 만큼, 은근 많이 사용되는 Navigation과 statusbar 변경에 대해서 설명하려고 합니다.

위에 영상을 보면 맨 위에 StatusBar의 색상이 검정에서 하얀색으로 변경되는 것을 확인하실 수 있습니다. 

이것을 배워보려고 해요!

보통 "상태바 변경"이라 검색하면 

   override var preferredStatusBarStyle: UIStatusBarStyle{  return .darkContent  }

를 많이 보셨을 겁니다. (저도 그렇고요)

하지만 보통 단일 뷰에 사용하진 않죠. 그래서 내비게이션에서 사용하려고 하면 적용이 안되는걸 확인 할 겁니다.

네비게이션에 상태바 변경을 하기 위해서는 3단계를 거쳐야 합니다.

1) UINavigationController을 생성하고 StoryBoard에 네비게이션 클래스에 넣어주세요

2) 아래 코드를 생성한 UINavigationController에 넣어주세요.

    override var childForStatusBarStyle: UIViewController?{ return topViewController}

=> 이것은 각 내비게이션 뷰마다 상태바 스타일을 다르게 적용하겠다고 생각하면 편합니다.

3) 적용하고자 하는 뷰에 가서 아래 코드를 작성해주세요.

   override var preferredStatusBarStyle: UIStatusBarStyle{  return .darkContent  }

 

정말 간단하죠??? ㅎㅎㅎㅎ ( 저는 이걸 해결한다고 구글링을 열심히 했습니다. )

다음에는 내비게이션에 다뤄 보도록 하겠습니다.

전체 코드입니다.

내비게이션 뷰

 

상태바를 변경할 뷰

 

참고 사이트. : 

sanzeevgautam.medium.com/preferredstatusbarstyle-not-called-in-swift-eefae1f10262

 

preferredStatusBarStyle not called in swift ?

As per the Apple doc, UIStatusBarStyle is the style of the device’s status bar. It is a enum type.

sanzeevgautam.medium.com

 

728x90
반응형

댓글