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];