当导航栏应用渐变效果时,如何更改状态栏的颜色?

5

我想在导航栏上应用渐变颜色。我已经尝试了,但状态栏的颜色没有改变。有人能帮我解决吗?

这是实现渐变颜色的代码:

let colorTop =  UIColor(red: 69/255, green: 90/255, blue: 195/255, alpha: 1.0).CGColor

let colorBottom = UIColor(red: 230/255, green: 44/255, blue: 75/255, alpha: 1.0).CGColor

let gradientLayer = CAGradientLayer()
gradientLayer.colors = [ colorTop, colorBottom]
gradientLayer.locations = [ 0.0, 1.0]
gradientLayer.frame = CGRectMake(0, 0, 375, 64)

self.navigationController?.navigationBar.layer.addSublayer(gradientLayer)

请检查我的答案并回复。 - KSR
2个回答

3

请使用以下内容:

gradientLayer.frame = CGRect(x:0, y:-20, width:375, height:64)

输出:

输入图像描述

在Swift3中:

        let colorTop = UIColor(red: 69/255, green: 90/255, blue: 195/255, alpha: 1.0).cgColor
        let colorBottom = UIColor(red: 230/255, green: 44/255, blue: 75/255, alpha: 1.0).cgColor
        let gradientLayer = CAGradientLayer()
        gradientLayer.colors = [ colorTop, colorBottom]
        gradientLayer.locations = [ 0.0, 1.0]
        gradientLayer.frame = CGRect(x:0, y:-20, width:375, height:64)
        self.navigationController?.navigationBar.layer.addSublayer(gradientLayer)

欢迎 Dupinder - KSR

0
替换
    self.navigationController?.navigationBar.layer.addSublayer(gradientLayer) with

self.navigationController?.navigationBar.layer.sublayers?.insert(gradientLayer, at: 0)

使用上述代码构建后添加图像

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接