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

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

我想以编程方式更改主视图中背景的颜色(我正在使用 Swift 创建一个应用程序)。我试图将此代码放入 viewDidLoad() 但它没有工作。正确的做法是什么?

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

您正在创建一个新的子视图,它还没有添加到您的视图堆栈中。相反,它要简单得多:

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)
} 

您还可以根据人们观看的时间(上午或下午)更改背景颜色:

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()
    }