使用rand()随机显示图像

时间:2010-02-02 02:49:07

标签: iphone uiimage random

我只是在摆弄小应用程序,尝试学习SDK和ObjC 2。

我试图随机显示图像,并不断寻找显示图片的不同方式。我已将图片上传到SDKs资源文件夹中。

无论如何,这是我的代码。有人可以引导我朝着正确的方向前进。

#import "randomViewController.h"

@implementation randomViewController


//not sure if this is the right way to do it really.
NSArray *comImage = [NSArray arrayWithObjects:
      [UIImage imageNamed:@"rock.png"],
      [UIImage imageNamed:@"paper.png"],
      [UIImage imageNamed:@"scissors.png"],
      nil];


- (IBAction) randButton {
 int text = rand() % 3;
 switch (text) {
  case 0:
   textView.text = @"Rock";
   break;
  case 1:
   textView.text = @"Paper";
   break;
  case 2:
   textView.text = @"Scissors";
   break;
  default:
   break;
 }
}

2 个答案:

答案 0 :(得分:1)

我会这样做:

NSArray *myImageNames = [NSArray arrayWithObjects:@"rock.png", @"paper.png", @"scissors.png", nil];
int index = arc4random() % [myImageNames count];

UIImage *myImage = [UIImage imageNamed:[myImageNames objectAtIndex:index]];
myUIImageView.image = myImage;

显然你可以坚持使用myImageNames,所以如果你认为值得的话,你不必每次都重新创建它。

修改
得到它了。请参阅更新的代码。它假设您已经在视图中添加了一个名为myUIImageView的UIImageView。如果您已在屏幕上显示UIButton,我假设您知道如何执行此操作。

添加UIImageView:

在标题中声明UIImageView * myUIImageView 假设您使用xib:

,将其放在viewDidLoad中
myUIImageView = [[UIImageView alloc] initWithFrame:CGRectMake(x, y, width, height)];
[self.view addSubview:myUIImageView];

用适当的值替换x,y,width和height。它们将确定UIImageView在视图中的位置以及它的大小。

答案 1 :(得分:0)

要显示图片,您需要添加UIImageView并将其image属性设置为您想要的UIImage。查看David的答案,了解如何使用objectAtIndex:获取随机图片,然后将图片视图的image属性设置为该属性。