0

我试图在视图加载时显示随机图像。

我可以显示一个图像,但它不是随机的,它作为 % 的位置出现。

例如,此代码始终显示第四张图像。

这是我的代码。

{
    [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;
    }

}

有人知道我在做什么错吗?

4

3 回答 3

1
((arc4random() % 4) + 1)

我对 rand() 是可预测的有同样的问题。切换到 arc4random(),生活变得更好了。

编辑:

如果你想要一些漂亮和精简的东西,你可以用以下内容替换整个 switch 块:

[super viewDidLoad];

_imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%d.png", ((arc4random() % 4) + 1)]];
于 2013-07-16T14:33:35.943 回答
0

试试 arc4random_uniform(upper_bound)。它返回一个介于 0 和 upper_bounds-1 之间的数字

于 2013-07-16T14:33:12.833 回答
0

试试这样

   int randomImages = random()%4;
于 2013-07-16T14:37:17.100 回答