Swift随机颜色生成器

时间:2016-10-31 01:39:21

标签: swift random uibutton uilabel generator

是否可以使用随机生成器更改带有标签的按钮的颜色?

对于ex .. Label" A"是标题/颜色独裁者,将通知"按钮1和按钮2"他们会随机产生什么颜色。

3 个答案:

答案 0 :(得分:1)

printf()

答案 1 :(得分:1)

试试这段代码:

答案1:从数组生成随机颜色(限制为3种颜色)

注意:您必须在viewDidLoad中将初始backgroundColor设置为您的按钮

   yourButtonName.backgroundColor = .red // set any colour

   //Button background array
   let buttonBG = [UIColor.red,UIColor.green,UIColor.black]

   //Button title colour array
   let buttonTitle = [UIColor.orange,UIColor.cyan,UIColor.yellow]

用法:在按钮操作中尝试以下代码。它将生成从数组中分配的randomColor ...

    let BGRandomIndex = Int(arc4random_uniform(UInt32(buttonTitle.count)))
    yourButtonName.tintColor = buttonTitle[BGRandomIndex]

    let TitleRandomIndex = Int(arc4random_uniform(UInt32(buttonBG.count)))
    yourButtonName.backgroundColor = buttonBG[TitleRandomIndex]

答案2:生成随机颜色。

func randomCGFloat() -> CGFloat {
    return CGFloat(arc4random()) / CGFloat(UInt32.max)
}

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

使用方法:在按钮操作中尝试下面的代码。它会在每次点击按钮时生成randomColor ...

 yourButtonName.backgroundColor = randomColor() // to get random background button backgroundColor

 yourButtonName.tintColor = randomColor() //to get random background button title color

答案 2 :(得分:1)

   public func getRandomColor() -> UIColor{

    let randomRed:CGFloat = CGFloat(drand48())

    let randomGreen:CGFloat = CGFloat(drand48())

    let randomBlue:CGFloat = CGFloat(drand48())

    return UIColor(red: randomRed, green: randomGreen, blue: randomBlue, alpha: 1.0)

    }

您需要一个函数来生成0到1范围内的随机CGFloats:

你可以使用

CGFloat(arc4random()) / CGFloat(UInt32.max)

替代drand48()

如果您想将alpha作为随机数,只需为其创建另一个随机数 只需为您的视图创建随机背景,例如

self.view.backgroundColor = UIColor().getRandomColor()