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

时间:2015-03-04 20:26:01

标签: swift random colors

所以,在swift中工作时,我在viewController中创建了一个视图,当我在同一个ViewController中点击另一个视图时,它生成一个值为

的数组
[arc4random_uniform(257), arc4random_uniform(257), arc4random_uniform(257)]

其中随机数是随机RBG颜色的参数,我只是排序使其工作。我想要它,以便每次用户(或我; _;)使用Tap Gesture Recognizer轻触视图时,它会生成另一种随机颜色。我真的不知道如何“重新滚动”数组,以便它生成另一种随机颜色。

1 个答案:

答案 0 :(得分:1)

如果您想获得一个随机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)
}

如果您真的想获得三个颜色值,可以返回三个值:

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