2012-05-10 12 views
0

iphoneアプリで作業を始めました。私が経験したことがほとんどないので、動的に画像ビュー、ラベル、ボタンを再作成する方法がわかりません。基本的には、いくつかのデータが格納される配列が存在します。しかし、配列のサイズは変わってしまい、私はストーリーボードに静的VCを作ることができません。私は、次のテンプレートを使用したいと思いますし、それが必要として、配列はそれを何度でも再作成するために、このテンプレートを使用する必要があります。画像ビュー、ラベル、ボタンを動的に再作成

http://www.dropinsight.eu/screenshot1.png

は、あなたが私を与えることができます任意の助けを事前にありがとうございます。

乾杯

マックス

答えて

1

UITableViewを使用して配列内の各エントリをセルとして表示するという以前の回答は、あなたが使いたい方法です。各項目を「動的作成」についての質問に答えるために、あなたはこのようなあなたのcellForRowAtIndexPathで各UI要素を作成したいと思う:

UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(x,y,w,h)]; 
[imageView setTag:1]; 
[cell addSubview:imageView]; 
[imageView release]; 

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(x,y,w,h)]; 
[label setFont:[UIFont systemFontOfSize:X]]; 
[label setTag:2]; 
[cell addSubview:label]; 
[label release]; 

UIButton *button1 = [[UIButton alloc] initWithFrame:CGRectMake(x,y,w,h)]; 
[button1 setImage:[UIImage imageNamed:@"ABC"] forState:UIControlStateNormal]; 
[button1 addTarget:self action:@selector(someMethod:) forControlEvents:UIControlEventTouchUpInside]; 
[button1 setTag:3]; 
[cell addSubview:button1]; 
[button1 release]; 

etc 

その後、あなたのwillDisplayCell方法であなたは変わら任意のUI項目の内容を設定します各行は次のようになります。

UIImageView *imageView = (UIIamgeView *)[cell viewWithTag:1; 
UILabel *label = (UILabel *)[cell viewWithTag:2]; 

[imageView setImage:[UIImage imageNamed:@"XYZ"]]; 
[label setText:@"XYZ"]; 
+0

これは私が必要としていたものです。 – Max

1

私が正しくあなたの質問を解釈する場合は、詳細に各項目の情報を表示することができます項目のリストのいくつかの並べ替えを、持っていると思います。

私はUITableViewを見ています。これは、データの複数の行を表示するためのクラスであり、ここで説明するような振る舞いを変更することができます。

XcodeにはいくつかのiOSアプリケーションのテンプレートがあり、そのうちの1つはテーブルビュー付きのアプリです。サンプルプロジェクトを開き、このようなチュートリアルを読むことをお勧めします:http://cocoawithlove.com/2009/04/easy-custom-uitableview-drawing.html

+0

ありがとうございます。このチュートリアルは良いものです。 – Max

2

UITableViewに画像ビュー、ラベル、およびボタンを配置することを検討できます。

UIViewControllerをストーリーボードに使用する代わりに、UITableViewControllerを使用してください。これは、tableViewのデータソースとデリゲートであり、UITableViewCellを作成するために使用できます。各セルには、例ごとにimageView、text、および2つのボタンが含まれています。

詳細はApple docsを参照してください。

+0

私は正しい方向に向いてくれてありがとう。 – Max

関連する問題