Итак, я попробовал этот код, который видел на Youtube (https://www.youtube.com/watch?v=rNy6aQQYbuY) относительно затухающей анимации навигационной панели.
Я использовал код из видео над проектом, над которым я работаю, следующим образом:
func scrollViewDidScroll(_ scrollView: UIScrollView) {
var offset = scrollView.contentOffset.y / 150
if offset > 1 {
offset = 1
let color = UIColor(red: 1, green: 1, blue: 1, alpha: offset)
self.navigationController?.navigationBar.tintColor = UIColor(hue: 1, saturation: offset, brightness: 1, alpha: 1)
self.navigationController?.navigationBar.backgroundColor = color
UIApplication.shared.statusBarView?.backgroundColor = color
} else {
let color = UIColor(red: 1, green: 1, blue: 1, alpha: offset)
self.navigationController?.navigationBar.tintColor = .white
self.navigationController?.navigationBar.backgroundColor = color
UIApplication.shared.statusBarView?.backgroundColor = color
}
}
Я также использовал это расширение:
extension UIApplication {
var statusBarView: UIView? {
return value(forKey: "statusBar") as? UIView
}
}
Так что с фрагментами, которые я дал выше, я получаю ту же анимацию, что и на видео. При прокрутке вниз , У меня появляется блеклая белая полоса навигации , и наоборот, когда прокрутка медленно достигает вершины.
Однако, , что я хотел сделать , это исчезнуть с навигационной панели с черным цветом фона (непрозрачность: 50%) и белыми кнопками панели. Затем при прокрутке вниз навигационная панель должна начать исчезать с черного цвета фона на элементы сплошного белого цвета и кнопки черных полос.
Заранее спасибо!