2014-04-26 44 views
0

我看过使用数组在特定的UIImageView中创建动画的在线教程。我想要做的是有点不同,我不太清楚如何去做。使用NSArray来填充不同的UIImage?

我的故事板上有十个不同的UIImageViews。我有10个不同元素的数组。我想要做的就是用我的数组随机填充UIImageView。因此,第一次加载右上手ImageView将有图像A,然后下次您加载图像B.

我已经创建了一个名为randomNumber的方法来从数组中拉出一个随机数随机。但我不确定该从哪里出发。任何指针?谢谢!

- (void)viewDidLoad 
{ 
    kana = [[NSArray alloc] initWithObjects:[UIImage imageNamed:@"a.png"], 
         [UIImage imageNamed:@"i.png"], 
         [UIImage imageNamed:@"u.png"], 
         [UIImage imageNamed:@"e.png"], 
         [UIImage imageNamed:@"o.png"], 
         [UIImage imageNamed:@"ka.png"], 
         [UIImage imageNamed:@"ki.png"], 
         [UIImage imageNamed:@"ku.png"], 
         [UIImage imageNamed:@"ke.png"], 
         [UIImage imageNamed:@"ko.png"], 
         nil]; 


[super viewDidLoad]; 
// Do any additional setup after loading the view. 
} 

-(id) randomNumber 
{ 
    if ([kana count] > 0) 
    { 
     id obj = kana[arc4random_uniform([kana count])]; 
     return obj; 
    } 
    else 
     return nil; 
} 

回答

0

一般情况下,你不想重复,所以你遍历图像意见,并在每次迭代,你从kana得到一个随机的图像,然后从数组中删除该图像。只要你有至少一样多的图像,你有图像视图一切正常。

+0

我想我理解你的意思,但我仍然不确定这是如何工作的。我将如何迭代每个图像视图?我仍然模糊我如何将obj分配给图像视图...它会像UIImage * Monster1 = [kana objectAtIndex:obj]? – Michelle

+0

你会使用你的(很坏的名字,因为它返回一个随机图像,而不是数字)'randomNumber'方法来获取图像。查看使用IBOutletCollection来管理图像视图列表。 – Wain

+0

对不起,我对此很新,所以我没有真正跟随。当方法返回一个obj时,如何使用我的方法获取图像?我不能使用objectAtIndex,因为这需要一个int。当我为多个ImageView使用相同的图像时,它不是一个好集合吗? – Michelle