点击时更改View BackgroundColor

时间:2015-06-09 15:32:58

标签: ios swift view uikit background-color

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

以下是代码:

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

}

}

2 个答案:

答案 0 :(得分:2)

试试这个:

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

Meaning of alpha

答案 1 :(得分:0)

您正在将alpha参数设置为零,这意味着无论颜色是什么,它都将完全转换(非白色)。

所以你需要做的只是将alpha设置为1,你就会得到正确的颜色