ios - 创建的每个实例的随机颜色生成器和 RGB

标签 ios swift swift2

<分区>

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

extension UIColor
{
    static func randomColor() -> UIColor {
        let r = randomCGFloat()
        let g = randomCGFloat()
        let b = randomCGFloat()
        return UIColor(red: r, green: g, blue: b, alpha: 1.0)
    }

这是我用来生成随机颜色的代码。我的问题如下。两次调用 randomColor() 函数后,是否可以获取 rgb 参数?例如

`randomColor()` ->>> call
print the r,g,b
`randomColor()` ->>> call
print the r,g,b

因为它是一个随机数生成器来产生随机颜色,恐怕每次我尝试访问函数内的这些变量之一时我都会得到不同的结果,因为一旦它被召回(?) .帮助将不胜感激。如果有不同的方法,请随时使用它。

最佳答案

您可以使用标准的 UIColor 方法 getRed(_, green:, blue:, alpha:):

    var r: CGFloat = 0
    var g: CGFloat = 0
    var b: CGFloat = 0
    var a: CGFloat = 0
    UIColor.randomColor().getRed(&r, green: &g, blue: &b, alpha: &a)

    print("R: \(r), G: \(g), B: \(g), A: \(g)")

关于ios - 创建的每个实例的随机颜色生成器和 RGB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35173467/

相关文章:

ios - 如何在 iOS 中使用 vDSP 将声音文件转换为 FFT

ios - 在自定义类上使用 NSCoding 时,在 self.init 调用错误之前使用“self”

ios - 对成员 'count' 的模糊引用

ios - Xcode 8 和 Swift 3 NSCalendar

ios - 应用商店提交

ios - 在横向模式下将 UIView 放置在 UINavigationcontroller 之上

ios - 获取设置为 ON 的开关数量

Java 到 Swift - 如何在 Xcode 6 中使用 math.pow 和 math.exp

swift - textLabel?.text 仅显示 "Label",但不显示从先前 TableView 传递的实际数据

objective-c - ObjC 错误抛出函数返回 () 而不是 BOOL