2012-04-17 11 views
0

私は26個のボタンを作った。私はそれらをクリックすると、押したボタンの画像が画像ビューに表示され、AをクリックするとAが表示され、BをクリックするとBなどが表示される。配列の画像は、どのように?

私が持っている問題は、彼らがお互いの隣に表示されないということですが、私は6つの画像ビューを持っていると私は、などの最初のボックス第二の手紙2番目のボックスを埋めるために最初の文字が欲しい

私はちょうど行う方法がわからない

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

これは私が今どこにいるかの写真です。私はすでに1番を過ぎていますので、2番と同じです。誰かが私をここに言うことができる

希望が絵です:今.Hこれは私が得たものである

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

おかげ

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]; 

} 

誰かに私にこれを作る方法を教えてもらえますか、それとも多くのチュートリアルを見た後でも配列を取得できないので、サンプルコードがあります。ドン

+3

は、あなたは、単に自分の位置を設定しようとしたことがありますか? –

答えて

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]; 

の代わりに、それを直接設定します。配列を使用して

+0

imageViewポインタを配列に配置し、配列にインデックスを付けるようにインデックスを付けることがさらに理にかなっています。 –

+0

ああ、私は同意しますが、彼はすでにこのようにセットアップしています.... – lnafziger

+0

おかげで皆さん、おかげです。なぜなら、私はあなたの方法ホットな舐めを使用しますが、それがうまくいけばそれは私にとっては大丈夫です。しかし、私はあなたが何を意味するか本当に知っていませんが、私はそれを見ていきます。 inafzigersの方法は私が最初に自分自身を考えていたものだったが、それは試してみましょうでしたが、それは配列で可能だったので、一日中それと苦労している2,3人から聞いた!ありがとう –

0

は難しいことではありません。 UIImageView *またはNSArrayの標準C配列を宣言すると、[NSArray arrayWithObjects:imageView1, imageView2 ... imageView6, nil]のように挿入されます。その後

インスタンスレベルで宣言した位置カウンタposを持っている、とあなたは、単に実行します(。または、C列、imageViewArray[pos].image = imageParm; pos++;用)

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

+0

私は明日これを試してみるだけですので、どのように動作するのかを知っていただきありがとうございます。なぜ2番目の手紙を打ったのか分かりませんが、Xcodeを停止してシミュレータに戻ると、 Xcodeを開くと、} else if(imageView2.image == nil){ [imageView2 setImage:image]緑色の線が表示され、次にブレークダウンと表示されます –

+0

「ブレークダウン」とはどういう意味ですか?あなたが "ブレークポイント"を意味するならば、その場所に1つを設定している可能性があります - 左のマージンに一種の矢印マーカーがあります。 –

+0

はい申し訳ありませんブレークポイント! –

関連する問題