Если вы хотите использовать только те цвета, которые вы добавили в вопросе, добавьте нужную шестнадцатеричную строку цвета в Array
.
let arrColors = ["ff0000", "228B22", "FFFF00", "800080", "ffa500"] // Use your color hex
Теперь вам нужно выбрать случайный объект из массива выше, как этот.
let randomIndex = Int(arc4random_uniform(UInt32(arrColors.count)))
self.vwNavigationBar.backgroundColor = self.hexStringToUIColor(hex: arrColors[randomIndex])
Функция для преобразования шестнадцатеричной строки в цвет
func hexStringToUIColor (hex:String) -> UIColor {
var cString:String = hex.trimmingCharacters(in: .whitespacesAndNewlines).uppercased()
if (cString.hasPrefix("#")) {
cString.remove(at: cString.startIndex)
}
if ((cString.count) != 6) {
return UIColor.gray
}
var rgbValue:UInt32 = 0
Scanner(string: cString).scanHexInt32(&rgbValue)
return UIColor(
red: CGFloat((rgbValue & 0xFF0000) >> 16) / 255.0,
green: CGFloat((rgbValue & 0x00FF00) >> 8) / 255.0,
blue: CGFloat(rgbValue & 0x0000FF) / 255.0,
alpha: CGFloat(1.0)
)
}