是否可以使用随机生成器更改带有标签的按钮的颜色?
对于ex .. Label" A"是标题/颜色独裁者,将通知"按钮1和按钮2"他们会随机产生什么颜色。
答案 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()