在 swift 中重新滚动一个随机数

re-rolling a random number in swift

因此,在 swift 中工作时,我在 viewController 中创建了一个视图,当我在同一个 ViewController 中点击另一个视图时,它会生成一个值为 [=] 的数组12=]

[arc4random_uniform(257), arc4random_uniform(257), arc4random_uniform(257)]

其中随机数是随机 RBG 颜色的参数,我只是让它起作用了。我想要这样,每次用户(或我 ;_;)使用点击手势识别器点击视图时,它都会生成另一种随机颜色。我真的不知道如何 "re-roll" 数组,以便它生成另一种随机颜色。

如果您只想获得一个随机 UIColor,您可以创建一个函数,它会在您每次触摸识别器时被调用。另外,正如评论中提到的 mattt,您应该将最大值从 257 更改为 256

func randomColorCreator()->UIColor{
    var red:CGFloat = CGFloat(arc4random_uniform(256))/CGFloat(255)
    var green:CGFloat = CGFloat(arc4random_uniform(256))/CGFloat(255)
    var blue:CGFloat = CGFloat(arc4random_uniform(256))/CGFloat(255)
    return UIColor(red: red, green: green, blue: blue, alpha: 1.0)
}

如果你真的想得到三个颜色值,你可以return三个值像这样:

func randomColorCreatorV2()->(red:Int, green:Int, blue:Int){
    var red: = arc4random_uniform(256)
    var green: = arc4random_uniform(256)
    var blue: = arc4random_uniform(256)
    return (red, green, blue)
}

您可以访问 TapGestureRecognizer 方法中的值:

var randomColors = randomColorCreatorV2()
var blueValue = randomColors.blue