Я хотел бы воспроизвести эффект приложения Apple TV, в котором панель навигации начинается прозрачной (элементы на панели навигации все еще видны), а при прокрутке до определенного смещения прозрачность исчезает до прозрачности по умолчанию, например:
Моя реализация пока затухает на всей панели навигации, включая заголовок и кнопки.
Попытка 1:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
navigationController?.navigationBar.alpha = 0
}
override func scrollViewDidScroll(_ scrollView: UIScrollView) {
let offset: CGFloat = 50
let alpha = min(1, scrollView.contentOffset.y / offset)
navigationController?.navigationBar.alpha = alpha
}
Результаты попытки 1:
Попытка 2:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
navigationController?.navigationBar.shadowImage = UIImage()
navigationController?.navigationBar.isTranslucent = true
}
override func scrollViewDidScroll(_ scrollView: UIScrollView) {
let offset: CGFloat = 50
let alpha = min(1, scrollView.contentOffset.y / offset)
navigationController?.navigationBar.alpha = alpha
}
Результат попытки 2:
Я хочу начать с прозрачной панели навигации с видимым заголовком и кнопками, а также при прокрутке, возвращается полупрозрачный фон.