0

我制作了 26 个按钮,AZ,当我单击它们时,我按下的按钮的图像将显示在图像视图中,当我单击 A 时,它显示 A,当我单击 B 时,它将显示 B 等等。

我遇到的问题是它们不会彼此相邻显示,我有 6 个图像视图,我希望第一个字母填充第一个框第二个字母第二个框等。

我只是不知道该怎么做,我现在已经尝试了很多方法,我很确定我需要使用数组,只是无法正确编写代码。

这是一张我现在所在位置的照片,我已经超过了 1 号,所以它就像 2 号,只是彼此相邻。

希望有人能告诉我这是图片:

http://img213.imageshack.us/img213/4500/questionow.png

谢谢

这就是我现在得到的.h

    IBOutlet UIImageView *imageview1;
    IBOutlet UIImageView *imageview2;
    IBOutlet UIImageView *imageview3;
    IBOutlet UIImageView *imageview4;
    IBOutlet UIImageView *imageview5;
    IBOutlet UIImageView *imageview6;
}

-(IBAction)showA;
-(IBAction)showB;
-(IBAction)showC;
-(IBAction)showD;
-(IBAction)showE;
-(IBAction)showF;
-(IBAction)showG;
-(IBAction)showH;
-(IBAction)showI;
-(IBAction)showJ;
-(IBAction)showK;
-(IBAction)showL;
-(IBAction)showM;
-(IBAction)showN;
-(IBAction)showO;
-(IBAction)showP;
-(IBAction)showQ;
-(IBAction)showR;
-(IBAction)showS;
-(IBAction)showT;
-(IBAction)showU;
-(IBAction)showV;
-(IBAction)showW;
-(IBAction)showX;
-(IBAction)showY;
-(IBAction)showZ;

.m

-(IBAction)showA {

UIImage *img = [UIImage imageNamed:@"A.png"];

[imageview1 setImage:img];

}

-(IBAction)showB {

UIImage *img = [UIImage imageNamed:@"B.png"];

[imageview1 setImage:img];  

}

等等。

希望有人能告诉我如何制作这个或为我提供一些示例代码,因为即使在看过很多关于它们的教程之后我也不太了解这些数组。

谢谢唐

4

2 回答 2

1

你总是可以这样做:

- (void)setNextImage:(UIImage *)image {
    if (imageview1.image == nil) {
        [imageView1 setImage:image]
    } else if (imageView2.image == nil){
        [imageView2 setImage:image]
    } // ... Through all 6 images
}

然后在您的每个按钮操作中调用:

[self setNextImage:img];

而不是直接设置。

于 2012-04-17T20:31:29.653 回答
0

使用数组并不难。只需声明 UIImageView* 的标准 C 数组或 NSArray,初始化如下 [NSArray arrayWithObjects:imageView1, imageView2 ... imageView6, nil]

然后在实例级别声明一个位置计数器pos,您只需执行以下操作:

[imageViewArray objectAtIndex:pos].image = imageParm; pos++;

(或者,对于 C 数组,imageViewArray[pos].image = imageParm; pos++;。)

于 2012-04-17T21:18:22.650 回答