简体   繁体   English

如何在Swift中以编程方式更改tvOS中的背景颜色?

[英]How to change programmatically the background color of in tvOS in Swift?

I would like to change programmatically the color of the background in the main view (I'm creating an app with Swift).I tryed to put this code in viewDidLoad() but it doesn't work. 我想以编程方式更改主视图中背景的颜色(我正在使用Swift创建一个应用程序)。我试图将这段代码放在viewDidLoad()中,但它不起作用。 What is the correct way to do this? 正确的方法是什么?

override func viewDidLoad() {
  super.viewDidLoad()
   ...
   let myBackground = UIView()
   let colorWhite = UIColor(red: 255, green: 255, blue: 255, alpha: 1)
   myBackground.backgroundColor = colorWhite
   ...
  }
}

You are creating a new subview, which is not added to your view stack yet. 您正在创建一个新的子视图,该子视图尚未添加到视图堆栈中。 Instead, it's much simpler: 相反,它要简单得多:

override func viewDidLoad() {
    super.viewDidLoad()
    view.backgroundColor = UIColor.whiteColor()

    // Or with RGB:
    view.backgroundColor = UIColor(red: 142 / 255.0, green: 142 / 255.0, blue: 147 / 255.0, alpha: 1.0)
} 

Also you can change the background color depends on what time people do watch (AM or PM): 您还可以根据人们观看时间(上午或下午)更改背景颜色:

var t = time(nil)
    var tmValue = tm()
    localtime_r(&t, &tmValue)
    let hour = tmValue.tm_hour
    if hour > 12 {
        view.backgroundColor = UIColor.brownColor()
    } else {
        view.backgroundColor = UIColor.whiteColor()
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM