みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

iPhoneアプリ とあるプログラムの質問です。

下記のようなIBで配置してある、押されたボタンによって、リソースフォルダにある指定の画像を、IBで配置したいくつかのUIImage領域の内、指定のUIImage領域に表示させるには、どのようなプログラムを書けばいいでしょうか。ご教授頂ける方、よろしくお願い致します。

1つのボタンと1つの画像なら例えば、

-(IBAction)tapBtn  {
myImageView.image = [UIImage imageNamed:@"y1.png"];

で良いと思うのですが、これが200のボタンと200種類の画像(1のぼたんなら1の画像、2のボタンなら2の画像など)になった時に、出来る限りシンプルな書き方をしたいと考えています。(myImageView.image = [UIImage imageNamed:@"y1.png"];を200種類書く方法では無く、できればtag情報を使って書きたいと考えています。)

ヒントや参考書籍、URLなど完全な回答ではなくても大丈夫なので、よろしくお願い致します。

投稿日時 - 2011-05-29 23:16:56

QNo.6773158

困ってます

質問者が選んだベストアンサー

ファイル名が連番になっているなら、ファイル名を動的に生成するのではどうでしょうか?

int number; // UIButtonのタグなどから代入
NSString *fileName = [NSString stringWithFormat: @"y%d.png", number];
myImageView.image = [UIImage imageNamed: fileName];

ディレクトリ・ファイル情報の取得は、NSFileManagerクラスを使います。リソース領域のファイルパス取得には、NSBundleクラスを使います。
画像ファイルのリストを、XML書類で作成し、リソースに置き、それを読んで、ファイル名のNSArray配列を作成するには、NSPropertyListSerializationクラスを使います。
だいたいこのくらいのクラスを使い回せば、ご希望のことはできそうに思えます。

投稿日時 - 2011-05-30 00:05:31

お礼

ご丁寧な回答に深く感謝致します。
困っている所をアドバイス頂きありがとうございました。

投稿日時 - 2011-06-03 23:10:21

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問