Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 为UIImageView随机化图像_Ios_Objective C_Uiimageview - Fatal编程技术网

Ios 为UIImageView随机化图像

Ios 为UIImageView随机化图像,ios,objective-c,uiimageview,Ios,Objective C,Uiimageview,我调用[self randomizeBanner]在视图中加载

我调用
[self randomizeBanner]
视图中加载NSTimer
对UIImageView的图像进行随机化,以获得横幅广告

@property (strong, nonatomic) UIImageView *bannerBackgroundImage;

将UIImageView的图像随机化的最佳方法是什么

实现同样目标的一种方法是:

假设您的图像的顺序是
image1.png-image5.png

UIImage * randomImage = [ UIImage imageNamed:[ NSString stringWithFormat:@"image%u.png", 1+arc4random_uniform(4)]] ;
[_bannerBackgroundImage setImage:randomImage];

在每次调用函数时,都会一次又一次地创建数组。使用我的方法,无需管理图像数组,您只需按顺序管理图像名称。

除了缺少的图像名称外,您现在的代码有什么问题?谢谢您的评论。如果你没有反对意见,我想没有什么。我想可能有另一种/更好的方法。你认为呢?我会创建一个图像名称数组,然后从随机选择的名称中创建一个图像,而不是创建额外的图像,这些图像在没有被拾取后将被丢弃。每5到10秒拾取一个新图像,因此图像数组必须至少有5个。你是说别的吗?他的意思是不要费心创建五个
UIImage
实例,只需扔掉四个即可。选择一个随机名称,然后为该名称创建一个
UIImage
。这是一个很棒的答案!
UIImage * randomImage = [ UIImage imageNamed:[ NSString stringWithFormat:@"image%u.png", 1+arc4random_uniform(4)]] ;
[_bannerBackgroundImage setImage:randomImage];