在iOS中返回随机图像

时间:2012-09-02 04:30:24

标签: iphone objective-c ios xcode

我的Xcode项目中有6个.png图像(例如:image1.png,image2.png。等)。我想创建一个方法,从这组6中返回一个随机图像,并将其分配给我的视图背景。我已经有一个类似的方法返回一个随机颜色:

+(UIColor *)randomColor
{
CGFloat red= (CGFloat)random()/(CGFloat)RAND_MAX;
CGFloat blue= (CGFloat)random()/(CGFloat)RAND_MAX;
CGFloat green= (CGFloat)random()/(CGFloat)RAND_MAX;
return [UIColor colorWithRed:red green:green blue:blue alpha:1.0];

} 

我的实现文件调用此方法如下:

UIColor *randomColor=[SoundDetail randomColor];
[self.view setBackgroundColor:randomColor];

如何编辑此方法以从我的6列表中返回随机图像并将其指定给我的背景视图? 我正在使用Xcode 4.4.1进行通用的iOS 5项目。

谢谢!

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:0)

假设您在NSArray中有UIImages:

- (UIImage *)randomImage
{
    NSArray *imagesArray = // array of images;
    return [imagesArray objectAtIndex:(arc4random() % imagesArray.count];
}

假设您在NSArray中有UIImage名称:

- (UIImage *)randomImage
{
    NSArray *imagesArray = // array of image names;
    NSString *imageName = [imagesArray objectAtIndex:(arc4random() % imagesArray.count];
    return [UIImage imageNamed:imageName];
}