-
[iOS] navigation bar의 large title를 쓸 때 반투명으로 바꾸는 방법프로그래밍/iOS 2021. 8. 25. 20:12
원인
iOS13에서 navigation bar에서 large title의 기본 모양이 반투명에서 투명으로 변경되었기 때문임.
해결방법
방법1.
application(_:didFinishLaunchingWithOptions:)에 아래의 코드를 작성
let appearance = UINavigationBarAppearance() appearance.configureWithDefaultBackground() UINavigationBar.appearance().scrollEdgeAppearance = appearance
https://sarunw.com/posts/uinavigationbar-changes-in-ios13/
방법2.
해당 viewController의 viewDidLoad가 아닌 viewWillAppear같은 부분에 아래의 코드를 작성
let app = UINavigationBarAppearance() app.backgroundColor = .systemGroupedBackground self.navigationController?.navigationBar.scrollEdgeAppearance = app
https://stackoverflow.com/a/56941896/14854771
여기서 색상을 .gray, .systemGray로 했다가 색이 아래 탭바랑 다르게 구분되어서 탭바쪽 색이랑 일치되는 색을 찾아야 했음.
찾아보니 .systemGroupedBackground 색이 앱에서 시스템적으로 약간 회색으로 통일되는? 그런 색상인 것 같았음
반응형'프로그래밍 > iOS' 카테고리의 다른 글
NSCoding, Codable 사용 방법 정리(코드) (0) 2021.09.20 NSCoding 쓸 때 does not implement methodSignatureForSelector: 에러가 나는 경우 (0) 2021.09.17 [iOS] scrollViewDidEndScrollingAnimation이 시뮬레이터에서는 호출되지만 디바이스에서 호출되지 않을 때 (0) 2021.03.24 [iOS] hidesSearchBarWhenScrolling가 작동하지 않을 때 (0) 2021.03.13 [iOS] tableView.indexPath(for: UITableViewCell)이 nil이 반환될 때 (0) 2021.03.09