我创建了一个UIImage,它每隔8秒就会改变一次图像,但是现在它的图像是按照特定的顺序进行硬编码的,我的问题是我怎样才能使用arc 4随机工具或其他方法制作图像它使订单完全随机,这是我的代码:
我的.h:
#import <UIKit/UIKit.h>
@interface HomeViewController : UIViewController {
NSTimer *myTimer;
IBOutlet UIImageView *imageview;
}
@end
在我的.m:
- (void)viewDidLoad
{
[super viewDidLoad];
myTimer = [NSTimer scheduledTimerWithTimeInterval:8.00 target:self selector:@selector(changeImage) userInfo:nil repeats:YES];
_images = @[@"Background 2.png", @"Background 3.png", @"Background 4.png", @"Background 5.png", @"Background 6.png", @"Background 7.png", @"Background 9.png", @"RSGC Crest.png"];
}
- (void)changeImage
{
static int counter = 0;
if([_images count] == counter+1)
{
counter = 0;
}
imageview.image = [UIImage imageNamed:[_images objectAtIndex:counter]];
counter++;
}
非常感谢任何帮助。
答案 0 :(得分:0)
您可以使用arc4random_uniform()
来选择这样的随机图片
int imageNumber = arc4random_uniform(8); //because you have 8 image names in the array
NSString *imageName = _images[imageNumber];
imageView.image = [UIImage imageNamed:imageName];
感谢@danielbeard使用arc4random_uniform()
代替arc4random()
。