在导航控制器内的UIViewController中设置背景

时间:2017-09-11 06:00:10

标签: ios swift uiviewcontroller uinavigationcontroller

我想用渐变色设置全屏背景颜色(包括导航栏和状态栏)。现在,我通过创建渐变

来实现这一目标
func setDefaultColorBackground() {
    let colorTop =  UIColor(hexString: "804b8a").cgColor
    let colorBottom = UIColor(hexString: "42074b").cgColor

    let gradientLayer = CAGradientLayer()
    gradientLayer.colors = [ colorTop, colorBottom]
    gradientLayer.locations = [ 0.0, 1.0]
    gradientLayer.frame = self.view.bounds

    self.view.layer.insertSublayer(gradientLayer, at: 0)
}

所以我在view的{​​{1}}中添加了图层。它可以工作,但它没有覆盖状态栏和导航栏。看这个图片: background

我认为背景只会填充导航栏下的视图。无论如何,我正在使用ViewController并在我的视图控制器类中手动加载它。

有什么想法怎么做?非常感谢你!

1 个答案:

答案 0 :(得分:0)

我想更改导航栏的颜色你必须为它编写代码:

UINavigationBar.appearance().barTintColor = UIColor.redColor()

或您想提供的任何颜色:

UINavigationBar.appearance().barTintColor = UIColor(red: 0, green: 0/255, blue: 205/255, alpha: 1)
UINavigationBar.appearance().tintColor = UIColor.whiteColor()
UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName:UIColor.whiteColor()]

我希望它对你有所帮助。快乐编码:)