인프런 커뮤니티 질문&답변

kloudlili peter님의 프로필 이미지

작성한 질문수

UIKit - iOS14 실무 가이드 <iOS앱 진짜 개발자 되기>

Background Design

navigation backgrouncolor가 파스텔톤으로 적용되지 않는 건에 대하여

해결된 질문

작성

·

219

0

질문 드립니다. 강의영상에서는 

 self.navigationController?.navigationBar.backgroundColor = .orange 코드를 작성하면 반투명색의 오렌지 색이 반영되는 걸로 보여집니다. 하지만 똑같은 코드를 xcode에서 작성한 결과, 반투명한 파스텔톤의 색이 아닌, 순 오렌지색이 반영되더군요.. 혹시 이 부분은 버전 업데이트로 인하여 더이상 반투명한 색이 자동적으로 반영되는 것이 불가능해진걸까요?

답변 2

2

친절한 답변 감사드립니다!

찾아본결과, wwdc2021이후로 네비게이션 바의 관할영역이 확장된게 원인이었더군요..

알려주신 코드 작성을 통해, 바로 반영되는 것을 확인 하였습니다.

선생님의 UIKit강의를 전부 완강하고, 이제는 auto layout강의도 들으려고 합니다.

항상 고퀄리티의 강의를 제공해주셔서 감사드립니다.

1

iOS Developer - 이정님의 프로필 이미지
iOS Developer - 이정
지식공유자

안녕하세요

 

버전마다 약간씩 적용되는 방법이 달라지는 경우가 있어서 감안하시면 좋을 것 같습니다.

현재로서는 아마 아래처럼 하시면 원하시는 스타일대로 가능하지 않을까 싶습니다.

 

        let appearance = UINavigationBarAppearance()

        appearance.backgroundEffect = .init(style: .light)

// backgroundEffect를 설정할지 안할지에 따라서도 보이는 색상이 다르니 이 부분도 적절히 고려하세요.

// 설정하면 색이 섞여서 보이고 설정 안하면 색 섞이지 않고 투명도만 적용 등..

        appearance.backgroundColor = .orange.withAlphaComponent(0.7) // alpha값으로 적절히 투명도를 정함.

        

        navigationItem.standardAppearance = appearance

        navigationItem.scrollEdgeAppearance = appearance

        navigationItem.compactAppearance = appearance

 

        self.navigationItem.title = "navi bar color test"