点击时更改视图背景颜色

Change the View BackgroundColor on Tap

我想在点击时更改视图的文本和背景颜色。引号在变化,但视图背景颜色不变。我做错了什么?

代码如下:

import UIKit        // UI: user interface

class ViewController: UIViewController {

// IB: Interface Builder
@IBOutlet weak var quoteLabel: UILabel!

var quotes = Quotes()


// gets called when the view is loaded
override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
}

// Interface Builder Action.
// Gets called whenever the user taps on the button
@IBAction func inspireMeDidTap(sender: UIButton)
{
    let quote = quotes.randomQuote()
    quoteLabel.text = quote

    // change the background color of the view
    view.backgroundColor = randomColor()
}

func randomColor() -> UIColor
{
    let random = Int(arc4random()) % 5  // 0 -> 4
    switch random {
    case 0: return UIColor(red: 211/255.0, green: 86/255.0, blue: 87/255.0, alpha: 0)
    case 1: return UIColor(red: 71/255.0, green: 178/255.0, blue: 137/255.0, alpha: 0)
    case 2: return UIColor(red: 229/255.0, green: 177/255.0, blue: 93/255.0, alpha: 0)
    case 3: return UIColor(red: 92/255.0, green: 163/255.0, blue: 178/255.0, alpha: 0)
    case 4: return UIColor(red: 38/255.0, green: 38/255.0, blue: 38/255.0, alpha: 0)
    default: return UIColor(red: 56/255.0, green: 72/255.0, blue: 72/255.0, alpha: 0)
    }

}

}

试试这个:

将所有 alpha = 1 放入您的颜色中(而不是 0)。 如果 alpha = 0,则完全透明

Meaning of alpha

您将 alpha 参数设置为零,这意味着无论颜色是什么,它都将是完全透明的(不是白色)。

所以您需要做的就是将 alpha 设置为 1,您将获得正确的颜色