0

26 個のボタンを作成しました。AZ をクリックすると、押したボタンのイメージがイメージ ビューに表示され、A をクリックすると A が表示され、B をクリックすると B が表示されます。

私が抱えている問題は、それらが隣り合って表示されないことです.6つの画像ビューがあり、最初の文字で最初のボックス、2番目の文字、2番目のボックスなどを埋めたい.

これを行う方法がわかりません。今は多くの方法を試してきましたが、配列を使用する必要があると確信しています。コードを正しく取得できません。

これは私が今いる場所の写真です。私はすでに 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 に答える