gpt4 book ai didi

ios - 如何从 NSArray 中选取随机图像并在 View 中随机显示

转载 作者:行者123 更新时间:2023-11-29 03:33:00 25 4
gpt4 key购买 nike

好吧,我已经做了几个线程询问如何随机显示图像/选择随机图像。我意识到我不知道如何将这两种方法结合在一起。

我的数组中有 5 张图像。

我的.h文件:

@property (strong, nonatomic) NSArray *imageArray;

我的.m文件:

    - (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.

UIImage *image1 = [UIImage imageNamed:@"image-1.png"];
UIImage *image2 = [UIImage imageNamed:@"image-2.png"];
UIImage *image3 = [UIImage imageNamed:@"image-3.png"];
UIImage *image4 = [UIImage imageNamed:@"image-4.png"];
UIImage *image5 = [UIImage imageNamed:@"image-5.png"];

_imageArray = @[image1, image2, image3, image4, image5];
}

这就是我现在所拥有的,我一直在尝试在其他地方找到的其他代码,但没有成功,所以将其保留。

既然你看到了我所拥有的,这就是我想要做的:我需要使用一种方法,从数组中随机选择 5 张图像中的一张,然后将其显示在我 View 中的随机位置。

我还需要重复这个循环,但有限制。我需要每个图像都有一个“值”,例如:image-1等于1,image-2等于2,image-3等于3,image-4等于4,image-5等于5。重复循环,直到显示的图像总数等于 50。

我不太确定从哪里开始使用什么方法。我确信随机选取和显示对你们中的一些人来说很容易,但值和重复直到等于 50 似乎很复杂。因此,非常感谢任何和所有的帮助!预先感谢任何可以提供帮助的人,我是编码新手,因此如果您能解释为什么使用您的代码,那将会有更多帮助!谢谢!

编辑:这个人尝试在我的另一个线程中帮助我添加整个选择随机图像的过程。他的回复在这里:How to display multiple UIImageViews我使用了他的代码但什么也没发生。我不确定他的代码是否有问题,或者我是否做错了什么。

最佳答案

使用递归循环和 int 来跟踪您达到所需计数 50 的进度。

每次循环,你都想:

  1. 生成一个新的随机数(0-4)
  2. 使用您的随机数从数组中选择一张图片
  3. 将您的随机数添加到您的 int 中并检查您是否达到了 50。
  4. 如果你达到了 50,你就完成了
  5. 如果您还没有达到 50,请再做一次。

像这样:

//in your .h declare an int to track your progress
int myImgCount;

//in your .m
-(void)randomizeImages {

//get random number
int randomImgNum = arc4random_uniform(5);

//use your random number to get an image from your array
UIImage *tempImg = [_imageArray objeactAtIndex:randomImgNum];

//add your UIImage to a UIImageView and place it on screen somewhere
UIImageView *tempImgView = [[UIImageView alloc] initWithImage:tempImg];

//define the center points you want to use
tempImgView.center = CGPointMake(yourDesiredX,yourDesiredY);

[self addSubview:tempImgView];
[tempImgView release];


//increment your count
myImgCount = myImgCount+(randomImgNum+1);

//check your count
if (myImgCount<50) {
[self randomizeImages]; //do it again if not yet at 50
}

}

类似的东西应该适合你。

关于ios - 如何从 NSArray 中选取随机图像并在 View 中随机显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19530918/

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