点击时更改视图背景颜色
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,则完全透明
您将 alpha 参数设置为零,这意味着无论颜色是什么,它都将是完全透明的(不是白色)。
所以您需要做的就是将 alpha 设置为 1,您将获得正确的颜色
我想在点击时更改视图的文本和背景颜色。引号在变化,但视图背景颜色不变。我做错了什么?
代码如下:
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,则完全透明
您将 alpha 参数设置为零,这意味着无论颜色是什么,它都将是完全透明的(不是白色)。
所以您需要做的就是将 alpha 设置为 1,您将获得正确的颜色