【问题标题】:How to change programmatically the background color of in tvOS in Swift?如何在 Swift 中以编程方式更改 tvOS 中的背景颜色?
【发布时间】:2016-04-20 23:17:44
【问题描述】:

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

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

【问题讨论】:

    标签: swift user-interface background tvos


    【解决方案1】:

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

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

    【讨论】:

    • 您好 Antoine,感谢您的帖子。如果我使用预设组件值,代码可以正常工作。如果我想使用自定义颜色,例如:红色:142,绿色:142,蓝色:147,alpha:1,您建议如何进行?
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-21
      • 1970-01-01
      相关资源
      最近更新 更多