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의 기본값이 회색이다. )
반응형