ios - 在 XCode 中随机化颜色

标签 ios xcode swift colors uicolor

我正在尝试使用我已经创建的一些颜色随机化 XCode 中标签的文本颜色,我尝试了不同的方法,这是我得到的最接近的方法。

    override func viewDidLoad() {
    super.viewDidLoad()

    let color1 = UIColor(red: 1, green: 165/255, blue: 0, alpha: 1)
    let color2 = UIColor(red: 80/255, green: 1, blue: 200/255, alpha: 1)
    let color3 = UIColor(red: 150/255, green: 80/255, blue: 1, alpha: 1)
    let color4 = UIColor(red: 1, green: 80/255, blue: 80/255, alpha: 1)
    let color5 = UIColor(red: 80/255, green: 1, blue: 80/255, alpha: 1)

    var randomEight = arc4random_uniform(5)+1
    var randomColor:String = String(format:"color%i", randomEight)

    randomLabel.textColor = randomColor
}

但是,randomColor 变量是一个字符串,我无法将它转换为 UIColor。

最佳答案

将所有颜色放在一个数组中,然后使用 randomEight 作为数组中的索引以获得正确的颜色。此外,您可能需要检查整数除法以确保获得正确的颜色。

let color1 = UIColor(red: 1, green: 165/255, blue: 0, alpha: 1)
let color2 = UIColor(red: 80/255, green: 1, blue: 200/255, alpha: 1)
let color3 = UIColor(red: 150/255, green: 80/255, blue: 1, alpha: 1)
let color4 = UIColor(red: 1, green: 80/255, blue: 80/255, alpha: 1)
let color5 = UIColor(red: 80/255, green: 1, blue: 80/255, alpha: 1)

let colors = [color1, color2, color3, color4, color5]
let randomEight = Int(arc4random_uniform(UInt32(colors.count)))

randomLabel.textColor = colors[randomEight]

关于ios - 在 XCode 中随机化颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31633513/

相关文章:

ios - 将数据从子 VC 传递到父 VC,同时对两个 VC 进行值反射

ios - 在 Xcode 调试中观察变量或检查对象的技巧

ios - Google 放置网络服务 : How to get next page of results in Swift 3

ios - 调整单元格中的 UIImage 宽度

json - swift : Hide Labels if Empty

ios - 调用错误之谜中的额外参数

iphone - 用于跨选项卡保留 UI 状态的单例

ios - Swift iOS - 在 gameScene 中设置高分

iphone - 如何在 Xcode 中使用 cocos2d?

ios - 当全局变量的值发生变化时如何启动方法?