我正在尝试在视图加载时显示随机图像。
我可以显示要显示的图像,但它不是随机的,它会显示为%的位置。
例如,此代码始终显示第4张图像。
这是我的代码。
{
[super viewDidLoad];
int randomImages = rand() % 4;
switch (randomImages) {
case 0:
_imageView.image = [UIImage imageNamed:@"1.png"];
break;
case 1:
_imageView.image = [UIImage imageNamed:@"2.png"];
break;
case 2:
_imageView.image = [UIImage imageNamed:@"3.png"];
break;
case 3:
_imageView.image = [UIImage imageNamed:@"4.png"];
break;
}
}
任何人都知道我做错了什么?
答案 0 :(得分:1)
((arc4random() % 4) + 1)
我有同样的问题,rand()是可预测的。切换到arc4random(),生活变得更好。
修改强>
如果你想要一些好的和简化的东西,你可以用以下内容替换整个开关块:
[super viewDidLoad];
_imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%d.png", ((arc4random() % 4) + 1)]];
答案 1 :(得分:0)
尝试arc4random_uniform(upper_bound)。 它返回一个介于0和upper_bounds-1之间的数字
答案 2 :(得分:0)
尝试这样,
int randomImages = random()%4;