Swift - цвет затухания панели навигации от черного (непрозрачность: 50%) до белого при scrollViewDidScroll - PullRequest
0 голосов
/ 15 января 2019

Итак, я попробовал этот код, который видел на 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%) и белыми кнопками панели. Затем при прокрутке вниз навигационная панель должна начать исчезать с черного цвета фона на элементы сплошного белого цвета и кнопки черных полос.

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...