如何使用Swift制作随机背景颜色?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (63)

如何使用SWIFT制作随机背景颜色函数?

import UIKit
import AVFoundation

class ViewController: UIViewController {

    var numberScreen = arc4random_uniform(20)
    var backgroundColor = arc4random()

    @IBOutlet weak var perfbadLabel: UILabel!
    @IBOutlet weak var randomNumber: UILabel!
    @IBOutlet weak var countLabel: UILabel!
    @IBOutlet weak var levelLabel: UILabel!

    var timer = NSTimer()
    var flashTimer = NSTimer()
    var count = 40
    var labelcount = 1
    var velocity = 0.25

    //Color Background
    func colorBackground() {

        self.view.backgroundColor = UIColor.yellowColor()

    }
提问于
用户回答回答于

创建一个函数来生成随机颜色:

func getRandomColor() -> UIColor{
        //Generate between 0 to 1
        let red:CGFloat = CGFloat(drand48())   
        let green:CGFloat = CGFloat(drand48()) 
        let blue:CGFloat = CGFloat(drand48())  

        return UIColor(red:red, green: green, blue: blue, alpha: 1.0)
    }

现在,你可以在需要任意颜色时调用此函数。

self.view.backgroundColor = getRandomColor()
用户回答回答于

你需要一个函数来产生0到1范围内的随机CGFloat:

extension CGFloat {
    static func random() -> CGFloat {
        return CGFloat(arc4random()) / CGFloat(UInt32.max)
    }
}

然后你可以用它来创建一个随机颜色:

extension UIColor {
    static func random() -> UIColor {
        return UIColor(red:   .random(),
                       green: .random(),
                       blue:  .random(),
                       alpha: 1.0)
    }
}

如果你想要一个随机的alpha,只需为此创建另一个随机数。

你现在可以像这样分配视图的背景颜色:

self.view.backgroundColor = .random()

扫码关注云+社区

领取腾讯云代金券