EEYatHo 앱 깎는 이야기

Swift ) UINavigationBar shadowImage AutoHide - EEYatHo 본문

iOS, Swift

Swift ) UINavigationBar shadowImage AutoHide - EEYatHo

EEYatHo 2021. 9. 27. 18:41
반응형

네비게이션바에는 기본값으로 하단에 회색 1px짜리 라인이 있다 = shadowImage

 

UIScrollViewDelegate를 채택한 뷰컨의 경우,

스크롤 할 때, 이 shadowImage를 바꿀 수 있는 설정이 있다.

 

아래처럼하면 스크롤시 shadowImage가 사라지는 효과를 줄 수 있다.

let scrollEdgeAppearance = UINavigationBarAppearance()
scrollEdgeAppearance.shadowColor = .clear // 스크롤 될 때의 shadowImage의 색깔
naviBar?.scrollEdgeAppearance = scrollEdgeAppearance
            
let standardAppearance = UINavigationBarAppearance()
standardAppearance.shadowColor = .clear // 맨위에 있을 때의 shadowImage의 색깔
naviBar?.standardAppearance = standardAppearance

 

Xcode13 에서는 기본값으로 AutoHide가 적용된다. ( scrollEdgeAppearance.shadowColor의 기본값이 투명색이다. )

Xcode12.4 에서는 안된다. ( scrollEdgeAppearance.shadowColor의 기본값이 회색이다. )

 

Comments