如何淡入barButtonItem(黑色)的色彩(白色)的色彩?

时间:2019-09-10 16:57:23

标签: swift user-interface navigationbar

我正在设计一种设计,当您向上滚动时,它会在导航栏中逐渐从透明变淡为白色,并且还会更改后退按钮的颜色。我有导航栏过渡的代码,但是后退按钮的色调上的颜色过渡很奇怪。

我尝试过将亮度设置为黑色,但将色相/亮度匹配为黑色,但是当您再次向下滚动到顶部时,它保持黑色。当前代码块中的代码从白色变为亮蓝绿色,然后在进一步滚动时弹出为黑色。

我相信唯一需要更改的是代码块中的else {}子句。

override func scrollViewDidScroll(_ scrollView: UIScrollView) {
        var offset = scrollView.contentOffset.y / 150
        print(offset)

        if offset > 1 {
            offset = 1
            let color = UIColor(red: 1, green: 1, blue: 1, alpha: offset)
            self.navigationController?.navigationBar.tintColor = UIColor(hue: 0, saturation: offset, brightness: 0, 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 = UIColor(hue: 0.5, saturation: offset, brightness: 1, alpha: 1)
            self.navigationController?.navigationBar.backgroundColor = color
            UIApplication.shared.statusBarView?.backgroundColor = color
        }
    }

我正在尝试使按钮从白色变为黑色,向上滚动再次从黑色变为白色。

0 个答案:

没有答案