我正在尝试制作一个将背景颜色更改为随机颜色的按钮。到目前为止,我有:
func randomCGFloat() -> CGFloat {
return CGFloat(arc4random()) / CGFloat(UInt32.max)}
extension UIColor {
static func randomColor() -> UIColor {
let r = randomCGFloat()
let g = randomCGFloat()
let b = randomCGFloat()
// If you wanted a random alpha, just create another
// random number for that too.
return UIColor(red: r, green: g, blue: b, alpha: 1.0)
}
}
所有这些都在视图控制器之外,因为视图控制器内不允许“扩展”,并且必须在文件范围内。
然后我在视图控制器中有这个:
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = UIColor.randomColor()
对于我的操作按钮:
@IBAction func changeColor(sender: UIButton) {}
到目前为止,该应用程序以随机颜色启动。我不知道如何使操作按钮将背景颜色更改为新的随机颜色,因为背景颜色超出了我的操作范围。我不能把动作放在视图控制器类之外。该按钮必须生成新的随机颜色并更新背景颜色。