gpt4 book ai didi

ios - 如何生成随机的 UIColor?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:28:12 24 4
gpt4 key购买 nike

我正在尝试从 8 个选项中生成随机颜色。我发现的所有堆栈溢出帖子/教程都是随机颜色。在我的 prefix.pch 中,我定义了 8 组不同的颜色定义,这是一个例子:

#define cola1       209/255.
#define colb1 0/255.
#define colc1 0/255.
#define cold1 1.0/255.

为 cola1-8、colb1-8、colc1-8 和 cold1-8 定义不同的颜色值。

然后我设置了一个随机数生成器:

int randomNumber; 

randomNumber = arc4random() %8;
randomNumber = randomNumber + 1;
whatRandomNumberIs = randomNumber;

然后我尝试在 [UIColor colorWithRed etc]

中设置一个 [NSString stringWithFormat:@"cola%i", randomNumber];

像这样:

[UIColor colorWithRed:[NSString stringWithFormat:@"cola%i", whatRandomNumberIs] green:[NSString stringWithFormat:@"colb%i", whatRandomNumberIs] blue:[NSString stringWithFormat:@"colc%i", whatRandomNumberIs] alpha:[NSString stringWithFormat:@"cold%i", whatRandomNumberIs]];

但后来意识到您不能将 NSString 放入 CGFloat 中。

所以现在我卡住了。我将如何在不执行 NSString stringWithFormat 的情况下在红色、绿色、蓝色和 alpha 值中安装 1-8 的随机数?是否有另一种方法返回一个随机的 UIColor 值,该值是因为我只希望它是特定颜色而定义的??

最佳答案

以下是您可以执行的操作...

prefix.pch 中你有如下内容。

#define colorCombination1 [UIColor colorWithRed:.... alpha:1.0];
#define colorCombination2 [UIColor colorWithRed:.... alpha:1.0];
#define colorCombination3 [UIColor colorWithRed:.... alpha:1.0];
#define colorCombination4 [UIColor colorWithRed:.... alpha:1.0];
#define colorCombination5 [UIColor colorWithRed:.... alpha:1.0];
#define colorCombination6 [UIColor colorWithRed:.... alpha:1.0];
#define colorCombination7 [UIColor colorWithRed:.... alpha:1.0];
#define colorCombination8 [UIColor colorWithRed:.... alpha:1.0];

现在你创建这个颜色的数组..

NSArray *myColorArray = [[NSArray alloc] initWithObjects:colorCombination1, colorCombination2, colorCombination3, colorCombination4, colorCombination5, colorCombination6, colorCombination7, colorCombination8, nil];

现在你得到随机数说变量为 generatedRandomNumber

UIColor *myRandomColor = [myColorArray objectAtIndex:generatedRandomNumber%8];

generatedRandomNumber%8 将为您提供 generatedRandomNumber 的余数。

希望这就是你想要的。

关于ios - 如何生成随机的 UIColor?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23731524/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com