Попробуйте этот код:
Ответ 1: Генерация случайных цвета из массива (ограничить до 3 цвета)
Примечание: вы должны установить начальную BackgroundColor к кнопке в viewDidLoad
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]
Использование: Попробуйте ниже код внутри вашей кнопки action.It будет генерировать 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)
}
Использование: Попробуйте ниже код внутри вашей кнопки action.It будет генерировать randomColor на каждой кнопке мыши ...
yourButtonName.backgroundColor = randomColor() // to get random background button backgroundColor
yourButtonName.tintColor = randomColor() //to get random background button title color
Цвет состоит из из 3 компонентов: красный, зеленый и синий. Просто сгенерируйте 3 случайных числа между 0 и 1 и сделайте 'UIColor' из них –