簡體   English   中英

Backgroundcolor不變嗎?

[英]Backgroundcolor Doesn't change?

我已經從另一個ViewController發送了一個帶有委托的顏色名稱,數據成功接收(打印正確的顏色)。 然后,如果我想更改視圖本身的背景顏色,則使用我收到的名稱,但是它不起作用。

func sendColor(color: String) {
    let colorLowercased = color.lowercased()
    print(colorLowercased)

    view.backgroundColor = UIColor(named: "\(colorLowercased)")
    print(view.backgroundColor)
}

和代碼執行

更改背景顏色后為nil並且視圖為黑色

在colorviewController中,這是我要發送的委托函數

@IBAction func colorPressed(_ sender: UIButton) {
    let selectedColor = sender.currentTitle

    if let delegate = delegate {
        delegate.sendColor(color: selectedColor!)
    }

    _ = navigationController?.popViewController(animated: true)

}

順便說一句即時使用Swift 4.2

它是黑色的,因為您的代碼試圖將view.backgroundColor設置為可能為nil的顏色。 您是否在應用資產中named顏色? 要添加它們,您可以參考這篇文章 或者,不將標題傳遞給sendColor:傳遞按鈕的顏色(標題顏色/ bgColor / tintColor)。

func sendColor(color: UIColor)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM