NavigationBar 배경을 스크롤 위치에 따라 변경
// はじめにNavigationBarを透明に
override func viewDidAppear(_ animated: Bool) {
navigationController?.navigationBar.tintColor = .white
navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
navigationController?.navigationBar.shadowImage = UIImage()
navigationController?.navigationBar.isTranslucent = true
}
// scrollViewのデリゲートメソッド
func scrollViewDidScroll(_ scrollView: UIScrollView) {
// imageViewの下までスクロールしたら NavigationBarの色を変更
if scrollView.contentOffset.y > imageView.layer.frame.height - (navigationController?.navigationBar.frame.height)! - UIApplication.shared.statusBarFrame.height {
// NavigationBarの背景色変更
navigationController?.navigationBar.barTintColor = .white
navigationController?.navigationBar.tintColor = .black
navigationController?.navigationBar.setBackgroundImage(nil, for: .default)
navigationController?.navigationBar.shadowImage = nil
} else {
navigationController?.navigationBar.tintColor = .white
navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
navigationController?.navigationBar.shadowImage = UIImage()
navigationController?.navigationBar.isTranslucent = true
}
}
Reference
이 문제에 관하여(NavigationBar 배경을 스크롤 위치에 따라 변경), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/du26/items/2f02f5acf2e3137be10e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)